Crypto-js安装使用指导
前端加密解密工具crypto-js npm官网
npm install crypto-js
封装加密工具类
辅助工具,随机秘钥生成器:https://www.lddgo.net/string/randompassword
import CryptoJS from 'docs/web/libs/crypto-js';
// 采用随机秘钥生成
const secretKey = 'Wd{,wjJk8f$,qRnmYsiE'
//加密
export const aesEncrypt = (word: string, keyStr: string) => {
keyStr = keyStr ? keyStr : secretKey; //判断是否存在ksy,不存在就用定义好的key
const key = CryptoJS.enc.Utf8.parse(keyStr);
const srcs = CryptoJS.enc.Utf8.parse(word);
const encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return encrypted.toString();
}
//解密
export const aesDecrypt = (word: string, keyStr: string) => {
keyStr = keyStr ? keyStr : secretKey;
const key = CryptoJS.enc.Utf8.parse(keyStr);
const decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
//密钥(长度必须为16位,或者16位的倍数)
export const secretKey