1. 程式人生 > 其它 >JS-AES加密-crypto.js

JS-AES加密-crypto.js

技術標籤:Javascriptjs加密

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0"
>
<title>JS的AES加密解密方法詳解(CryptoJS)</title> <script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script> <script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/aes.min.js"></script> <script src="/jquery-3.3.0.min.js"
>
</script> </head> <body> <script> //aes加密 function encrypt(word){ //金鑰16位 var key = CryptoJS.enc.Utf8.parse("WELEARNINGSTRONG"); //加密向量16位 var iv = CryptoJS.enc.Utf8.parse("sinostrong365com");
var encrypted = ''; if (typeof(word) == 'string') { var srcs = CryptoJS.enc.Utf8.parse(word); encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); } else if (typeof(word) == 'object') { //物件格式的轉成json字串 data = JSON.stringify(word); var srcs = CryptoJS.enc.Utf8.parse(data); encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }) } return encrypted.ciphertext.toString(); } // aes解密 function decrypt(word) { var key = CryptoJS.enc.Utf8.parse("WELEARNINGSTRONG"); var iv = CryptoJS.enc.Utf8.parse("sinostrong365com"); var encryptedHexStr = CryptoJS.enc.Hex.parse(word); var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); var decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString(); } //加密 var encrypt_string = '{"username":"admin","password":"123456"}'; var encrypted_string = encrypt(encrypt_string); console.log("加密後:" + encrypted_string); //解密 var decrypt_string = encrypted_string; var decrypted_string = decrypt(decrypt_string); console.log("解密後:" + decrypted_string);
</script> </body> </html>

在這裡插入圖片描述