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); //第一個爲要加密的值,第二個爲雙方約定的加密密碼
}
}