导入cdn
<!-- 加密 -->
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>
加密js
// 十六位十六进制数作为密钥
const key = CryptoJS.enc.Utf8.parse("1234567890hijklm");
// 十六位十六进制数作为密钥偏移量
const iv = CryptoJS.enc.Utf8.parse('1234567890abcdef');
//解密方法
function myDecrypt(word) {
let encryptedHexStr = CryptoJS.enc.Base64.parse(word)
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
//加密方法
function myEncrypt(word) {
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}
使用
导入cdn和自定义js文件
<!-- 加密 -->
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>
<script src="js/CryptoJS.js"></script>
const pwd = '123456';
const decPwd = myEncrypt(pwd);
console.log('-----原密码-----', pwd);
console.log('-----加密后-----', decPwd);
console.log('-----解密后-----', myDecrypt(decPwd));