1.安装crypto-js依赖
npm install crypto-js
2.创建配置文件encryp.js 路径可以按照这个src/utils/encryp.js
import CryptoJS from "crypto-js";
export default {
// 解密 data:要加密解密的数据,AES_KEY:密钥,IV:偏移量
decrypt(data, AES_KEY, IV) {
const key = CryptoJS.enc.Utf8.parse(AES_KEY);
const iv = CryptoJS.enc.Utf8.parse(IV);
const decrypt = CryptoJS.AES.decrypt(data, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
return decrypt;
},
// 加密
encrypt(data, AES_KEY, IV) {
const key = CryptoJS.enc.Utf8.parse(AES_KEY);
const iv = CryptoJS.enc.Utf8.parse(IV);
const encrypted = CryptoJS.AES.encrypt(data, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
};
3.使用
因为用的地方比较多我直接挂载在vue的prototype上方便我直接调用,在main.js中加加上以下代码。
import Crypto from "@/utils/encryp.js";
Vue.prototype.$crypto = Crypto;
4.具体项目使用
加密
this.$crypto.encrypt('需要加密后的串')
其中只有一个参数为需要加密的串
解密
this.$crypto.decrypt('加密后的串',AES__key,AES__iv)
其中所用到的三个参数后台都会提供