1、npm下载
npm install crypto-js
2、创建一个des.js文件,内容如下:
import CryptoJS from 'crypto-js'
export const encryptCBC = (text, textKey) => {
// 密钥转成16进制的字符串
var key = CryptoJS.enc.Utf8.parse(textKey);
// 加密过程
var encrypted = CryptoJS.DES.encrypt(text, key, {
// iv偏移量为key值
iv: key,
// 模式为CBC
mode: CryptoJS.mode.CBC,
// DES加密padding为Pkcs7
padding: CryptoJS.pad.Pkcs7
});
// 加密返回为字符串密文(加密经过一次base64加密,结果可看结果)
return encrypted.toString();
}
// 解密
export const decryptCBC = (cipherText, textKey) => {
var key = CryptoJS.enc.Utf8.parse(textKey);
var decrypt = CryptoJS.DES.decrypt(cipherText, key, {
iv: key,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 解密返回转为UTF-8明文(解密也经过一次base64解密)
return decrypt.toString(CryptoJS.enc.Utf8);
}
3、具体使用
<script>
//引入封装好的des加密解密js文件
import { encryptCBC, decryptCBC } from '../../des.js'
export default {
name: 'MapTree',
buildInterface() {
const sintxt = "A0042222222222222";
this.signInVal = encryptCBC(sintxt,12345678); //第一个为要加密的值,第二个为双方约定的加密密码
}
}