Javascript實現前端AES加密解密功能
西安人才網掌握的HTML中的js前端AES加密
最近因為項目需求做了一次MITM,俄然即便發現運用HTTPS,也不能確保數據傳輸過程中的安全性。 經過中間人進犯,能夠直接獲取到Http協議的一切內容。 所以開端嘗試做一些簡略的加密,在一定程度上確保安全性。
本次選用AES加密數據,所以客戶端和效勞端運用的相同秘鑰。(僅作為演示,正式環境引薦運用RSA)
首要準備一份明文密碼和加密運用的KEY
var source = "ABCDEFG";var aesKey = "8NONwyJtHesysWpM";
JS加密 padding和mode 需求與效勞端相對應,不然無法解密
//key 為字符串類型,需求處理完再運用 //註:PKCS5Padding 和 PKCS7Padding 是一樣的
上段所示的 encryptedData 即為加密後的成果。
JS解密代碼
//encryptedData 為加密後的數據, //直接經過JS加密後的數據是一個目標,無法直接解密的, 需求轉換為Base64的字符串後才可解密 //效勞端應當回來Base64之後的加密數據 encryptedData = encryptedData.ciphertext.toString(); var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData);
成果演示
Tip: aes.js N合一
http://react.file.alimmdn.com/aes.js
Demo 控制臺查看
http://react.file.alimmdn.com/aes.html?t=1490179790965
【源碼如下】
[html] view plain copy
[html] view plain copy
>
<</span>html lang="en">
<</span>head>
<</span>meta charset="UTF-8">
<</span>title>Title
Javascript實現前端AES加密解密功能