1.安装:
npm install crypto-js --save-dev
yarn add crypto-js --dev
// 或者下载js文件
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js
ECB 模式
// 解密
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse('qGSIb3DQopAQUAA4');
var decrypt = CryptoJS.AES.decrypt(word, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
// 解密事件
decryptionHandler(word) {
var key = CryptoJS.enc.Utf8.parse("qGSIb3DQopAQUAA4");
var decrypt = CryptoJS.AES.decrypt(word, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
CBC模式
注:CBC模式必须要偏移量iv
// 加密
encrypt(word) {
let key = CryptoJS.enc.Utf8.parse('dsakldjkasdjkdsa');
let iv = CryptoJS.enc.Utf8.parse('');
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return encrypted.toString();
},
// 解密
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse('dsakldjkasdjkdsa');
let iv = CryptoJS.enc.Utf8.parse('');
var decrypt = CryptoJS.AES.decrypt(word, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return decrypt.toString(CryptoJS.enc.Utf8);
},
注意:key值(私钥)需要是16位进制的字段;密文需要14位以上的密文