废话不多说,直接上代码,也懒得讲解,我就是一个代码的搬运工
1、vue引入crypto-js
npm install core-js --save
//页面中引入
import CryptoJS from 'crypto-js'
2、DES加密
//methods中添加加密方法
// DES加密生成hex
desEncrypt(string, key) {
let encrypted = CryptoJS.DES.encrypt(jsonString, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.ciphertext.toString(CryptoJS.enc.Hex)
}
let string = '你好啊,小盆友' //加密内容
let key = CryptoJS.enc.Utf8.parse('123456') //加密的key值
//调用加密方法,得到一串16位加密字符
this.desEncrypt(jsonString, key)
2、DES解密
//methods方法中添加一个解密方法
// DEC解码并且生成json
decDecrypt(binData, key) {
let desDecryptStr = CryptoJS.DES.decrypt({ ciphertext:
CryptoJS.enc.Hex.parse(binData) }, key,
{
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8)
console.log('resObj---------解码----', desDecryptStr)
return desDecryptStr
}
//加密字符
let jiami= this.desEncrypt(jsonString, key)
//将加密字符转为二进制
let hexData = CryptoJS.enc.Hex.parse(jiami);
let binData = hexData.toString(CryptoJS.enc.Binary);
//解密
this.decDecrypt(binData, key)