import CryptoJS from 'crypto-js'
/**
* AES-128加密(需要先加载文件)
* @param keyHex 长度为16,进行过MD5加密
* @param content json对象需要转化成json字符串
* @returns {*}
*/
export function aesEncrypt(content, key){
const keyHex = key ? CryptoJS.enc.Utf8.parse(key) : CryptoJS.enc.Utf8.parse('D034FAF5309799E5')
const message = typeof content === 'string' ? content : JSON.stringify(content)
const srcs = CryptoJS.enc.Utf8.parse(message);
const encrypted = CryptoJS.AES.encrypt(srcs, keyHex, {
mode:CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
/**
* 解密
* @param content
* @returns {*}
*/
export function aesDecrypt(content, key){
const keyHex = key ? CryptoJS.enc.Utf8.parse(key) : CryptoJS.enc.Utf8.parse('D034FAF5309799E5')
const decrypt = CryptoJS.AES.decrypt(content, keyHex, {
mode:CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
前端 AES-128 加密解密CryptoJS
于 2022-04-11 14:53:42 首次发布