前端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
前端js數據加密解密