一.安装依赖
npm i crypto-js
二.封装方法
/utils/aes.ts 封装加密、解密方法
import CryptoJS from "crypto-js";
const aesKey = "12345678";
export default {
//加密
encrypt(v: any) {
if (v) {
return CryptoJS.AES.encrypt(v, CryptoJS.enc.Utf8.parse(aesKey), {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
}).toString();
}
},
//解密
decode(v: any) {
if (v) {
return CryptoJS.AES.decrypt(v, CryptoJS.enc.Utf8.parse(aesKey), {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
}).toString(CryptoJS.enc.Utf8);
}
},
};
三.使用
在stores使用
加密信息 如果是对象的话需要先转换字符串再进行加密
let encrypt = aes.encrypt(token);
localStorage.setItem("token", encrypt);
let encrypt2 = aes.encrypt(JSON.stringify(data));
localStorage.setItem("loginInfo", encrypt2);
解密信息 如果是对象的话解密后再转换对象
token: aes.decode(localStorage.getItem("token")),
loginInfo: JSON.parse(aes.decode(localStorage.getItem("loginInfo"))),