vue项目 aes 加密解密
本地安装包会导致打包资源过大,所以项目优化会使用cdn,
<script src="https://cdn.bootcss.com/crypto-js/3.1.9/crypto-js.min.js"></script>
在index.html 文件引入
然后在build文件夹里面的
webpack.base.conf.js 去暴露出去
externals:{
'crypto':'Crypto',
},
再src目录下面新建一个文件夹aes(名字随意)再文件夹里面创建一个index.js文件
export default {//加密
set(word, keyStr){
keyStr = keyStr ? keyStr : 'abcdefghijklmn16'; //16位的密钥,自己定义,和下面的密钥要相同
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();
},
//解密
get(word, keyStr){
keyStr = keyStr ? keyStr : 'abcdefghijklmn16';
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();
}
}
在你要用的页面去使用import 引入
import Crypto from "@/aes/index.js";
加密解密
this.urlMobile = ‘123456789’
console.log(‘加密’,escape(Crypto.set(this.urlMobile)));
console.log('解密',Crypto.get(unescape(this.urlMobile )));