安装
npm i crypto-js --save
创建一个 JS
文件
这里我是在 src/js/utils
创建了一个 aes.js
import CryptoJS from 'crypto-js';
export default {
//加密
encrypt(word, keyStr) {
keyStr = keyStr ? keyStr : '5d0b02a4d70f9155'; //判断是否存在key,不存在就用定义好的key,定义好的key是由后端提供的
var key = CryptoJS.enc.Utf8.parse(keyStr);
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(word, key, {
mode: CryptoJS.mode.ECB, //与后端保持一致
padding: CryptoJS.pad.Pkcs7
});
// return encrypted.ciphertext.toString();
//ciphertext 是将加密后的密码的密文转成原始密文(后端需要才进行转化的)
return encrypted.toString();
},
//解密
decrypt(word, keyStr) {
keyStr = keyStr ? keyStr : '5d0b02a4d70f9155';
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 AES from "@/js/utils/aes.js";
调用
let password = AES.encrypt(this.user.password); //对密码进行 ASE 加密