使用到的插件是crypto-js
1. 项目中安装
npm i crypto-js --save
2.查看版本
package.json中 "crypto-js": "^4.1.1"
3.项目src中新建aes.js文件
import CryptoJS from 'crypto-js' //引入
// 秘钥16位(和后端商量好使用,前后端一致)
var key = CryptoJS.enc.Latin1.parse("1234567890123456");
// 偏移量16位(和后端商量好使用,前后端一致)
var iv = CryptoJS.enc.Latin1.parse("1234567890123456");
export default {
// 加密
decrypt (data) {
var srcs = CryptoJS.enc.Utf8.parse(data);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return encrypted.toString();
},
// 解密
decrypt (encrypted) {
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
}
4.页面中使用方式
import aec_secret from '@/libs/aes'; //引入
created () {
let data = {
page: this.page,
size: this.size,
emp: this.emp,
startTime: this.optime[0],
endTime: this.optime[1],
className: this.className
}
//加密***
data = JSON.stringify(data);
data = aec_secret.encrypt(data)
console.log(data); //拿到的加密后的字段
//解密
let dec = JSON.parse(aec_secret.decrypt(data))
},