const keyStr ='21283569AB78CDEF';
const ivStr = 'CBA98FED76543210'
/**
* AES-CBC对称加密
* @param text {string} 要加密的明文
* @param secretKey {string} 密钥,十六进制字符串
* @returns {string} 加密后的密文,Base64格式
*/
export const cryptoEncrypt = (word) => {
var key = CryptoJS.enc.Utf8.parse(keyStr);
var iv = CryptoJS.enc.Utf8.parse(ivStr);
var srcs = ''
if (typeof (word) == 'string') {
srcs = CryptoJS.enc.Utf8.parse(word);
} else if (typeof (word) == 'object') {
srcs = CryptoJS.enc.Utf8.parse(JSON.stringify(word));
}
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// return encrypted.ciphertext.toString(); //hex字符串的形式
return encrypted.toString(); //base64的形式
}
/**
* AES-CBC对称解密
* @param textBase64 {string} 要解密的密文,Base64格式
* @param secretKey {string} 密钥 十六进制字符串
* @returns {string} 解密后的明文
*/
export const cryptoDecrypt = (textBase64) => {
var key = CryptoJS.enc.Utf8.parse(keyStr);
var iv = CryptoJS.enc.Utf8.parse(ivStr);
var decrypt = CryptoJS.AES.decrypt(textBase64, key, {
"mode": CryptoJS.mode.CBC,
"iv": iv,
"padding": CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt);
}
const EncryptStr = cryptoEncrypt("otter")
console.log('加密:' + EncryptStr)
console.log('解密:' + cryptoDecrypt(EncryptStr))
const str = '加密:' + EncryptStr
const str2 = '解密:' + cryptoDecrypt(EncryptStr)
// 创建一个新的 div 元素
const newDiv = document.createElement("div");
const newDiv2 = document.createElement("div");
newDiv.id = "myNewDiv";
newDiv.innerHTML = str;
newDiv2.id = "myNewDiv2";
newDiv2.innerHTML = str2;
// 将新创建的 div 元素插入到 body 元素中的末尾
document.body.appendChild(newDiv);
document.body.appendChild(newDiv2);
console