1.安装crypto-js (crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5、 SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密):
npm install crypto-js
2.新建文件aes.js,用来写公共方法。
import CryptoJS from 'crypto-js'
export default {
// 加密
encrypt(word) {
var keyStr = 'tdjyyxxytdjyyxxy'; // 判断是否存在ksy,不存在就用定义好的key
var key = CryptoJS.enc.Utf8.parse(keyStr)
var srcs = CryptoJS.enc.Utf8.parse(word)
var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7})
return encrypted.toString()
},
// 解密
decrypt(word) {
var keyStr = 'tdjyyxxytdjyyxxy';
var key = CryptoJS.enc.Utf8.parse(keyStr);
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7})
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
}
}
3.业务中使用加密解密
import AES from '@/utils/aes.js'
...
this.par = AES.encrypt(JSON.stringify(par));//加密数据
...
res = JSON.parse(AES.decrypt(res.data));//解密数据
));