VUE中引入AES解密加密首先下载所需要的的依赖
npm install crypto-js --save-dev
我个人是比较喜欢把方法统一放入公共组件中
const indexjs = {
}
const CryptoJS = require('crypto-js'); //引用AES
var key = CryptoJS.enc.Utf8.parse("asdfghjkl"); //密钥
var iv = CryptoJS.enc.Utf8.parse('123456789'); //密钥偏移量
// 解密方法
indexjs.Decrypt=function(word){
let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv: iv,//向量
mode: CryptoJS.mode.CBC,//加密模式
padding: CryptoJS.pad.Pkcs7,//填充方式
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
//加密方法
indexjs.Encrypt=function(word) {
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,//向量
mode: CryptoJS.mode.CBC,//加密模式
padding: CryptoJS.pad.Pkcs7,//填充方式
});
return encrypted.ciphertext.toString().toUpperCase();
}
export default indexjs;
公共组件引入方法我也放入下方吧
//main.js中放入如下代码就行文件名可自定义
import Comjs from './assets/common.js'
Vue.prototype.$comjs = Comjs;//将公共的js放入vue环境中
代码中调用
export default{
data(){
return{
word:'1234567890'
}
},
created() {
console.log('加密后的数值',this.$comjs.Encrypt(this.word))
},
mounted() {
},
}
解密和加密同理,只需更换下方法和参数就可以了。
git项目地址
喜欢的同僚可点击收藏。