前端js數據加密解密


一、最簡單的加密解密  

  函數escape()和unescape();

二、base64加密

(1)introduction

    base64是網絡上最常見的用於傳輸8bit字節碼的編碼方式之一,base64就是一種基於64個可打印字符來表示二進制數據的方法。

    https://en.wikipedia.org/wiki/Base64

(2)常用js base64加密庫

     https://github.com/dankogai/js-base64

(3) 原生js已經支持base64加密及解密

加密 window.btoa(decodeData)    解密window.atob(encodeData)

  

  對於中文進行解密及加密需要先對中文進行轉碼

  

  encodeURIComponent API相關可參考http://www.w3school.com.cn/jsref/jsref_encodeURIComponent.asp

三、md5加密

(1)introduction

MD5消息摘要算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節)的散列值(hash value),用於確保信息傳輸完整一致

具體來說文件的MD5值就像是這個文件的“數字指紋”。每個文件的MD5值是不同的,如果任何人對文件做了任何改動,其MD5值也就是對應的“數字指紋”就會發生變化。比如下載服務器針對一個文件預先提供一個MD5值,用戶下載完該文件后,用我這個算法重新計算下載文件的MD5值,通過比較這兩個值是否相同,就能判斷下載的文件是否出錯,或者說下載的文件是否被篡改了。

利用MD5算法來進行文件校驗的方案被大量應用到軟件下載站、論壇數據庫、系統文件安全等方面。

(2)常用js md5庫

  https://github.com/blueimp/JavaScript-MD5

四、sha1加密

(1)introduction

安全哈希算法(Secure Hash Algorithm)主要適用於數字簽名標准 (Digital Signature Standard DSS)里面定義的數字簽名算法(Digital Signature Algorithm DSA)。對於長度小於2^64位的消息,SHA1會產生一個160位的消息摘要。當接收到消息的時候,這個消息摘要可以用來驗證數據的完整性。在傳輸的過程中,數據很可能會發生變化,那么這時候就會產生不同的消息摘要。 

(2)常用js sha1庫

  https://github.com/emn178/js-sha1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM