安装crypto.js $npm install crypto-js --save-dev
项目中创建encryption.js文件
import CryptoJS from 'crypto-js/crypto-js'
// KEY 和 iv 是后端给我的
const aseKey = '757da2be61249c188319a9269f1a6ccb';
const iv = '4490d2ded4f2d4ad';
// 使用的是ECB模式
export default {
Encrypt(data) {
var key = CryptoJS.enc.Utf8.parse(aseKey);
var ivs = CryptoJS.enc.Utf8.parse(iv);
var encrypted = CryptoJS.AES.encrypt(data, key, {
iv: ivs,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
},
Decrypt(data) {
var key = CryptoJS.enc.Utf8.parse(aseKey);
var ivs = CryptoJS.enc.Utf8.parse(iv);
var decrypt = CryptoJS.AES.decrypt(data, key, {
iv: ivs,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
}
在需要使用的组件导入
import encryption from '../../../../utils/encryption.js';
// 加密
let a = encryption.Encrypt('123456');
console.log('加密',a);
// 解密
let b = encryption.Decrypt(a);
console.log('解密', b);