如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title3</title>
</head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script>
<body>
<script>
let signObj = '123asd456'
value=JSON.stringify(signObj)
console.log('这是:'+value)
let encryptKey = '1234560000000000'; // 加密串
let encryptIv = '1234567890111111'; // 偏移值
let encryptValue = CryptoJS.enc.Utf8.parse(value);
let keyHex = CryptoJS.enc.Utf8.parse(encryptKey);
let ivHex = CryptoJS.enc.Utf8.parse(encryptIv);
let encrypted = CryptoJS.AES.encrypt(encryptValue, keyHex, {
iv: ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
console.log('加密结果:'+encrypted)
console.log('带上url加密:'+encodeURIComponent(encrypted))
var decryptedData = CryptoJS.AES.decrypt(encrypted, keyHex, {
iv: ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
console.log('解密1:'+decryptedData.toString(CryptoJS.enc.Utf8))
//解密
let encryptedHexStr = CryptoJS.enc.Hex.parse(encrypted.ciphertext.toString());
let encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decryptedData2= CryptoJS.AES.decrypt(encryptedBase64Str, keyHex, {
iv: ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
let text = decryptedData2.toString(CryptoJS.enc.Utf8);
console.log('解密结果:'+text);
</script>
</body>
</html>
结果如图所示: