接口采用3DES加密算法,加密模式CBC,填充方式PKCS7 Padding
1.首先安裝 crypto-js npm install crypto-js --save-dev
2.新建 common/encrypt.js,內(nèi)容:
復(fù)制代碼var CryptoJS = require('crypto-js'); var key = '' //加密秘鑰 var iv = '' //偏移量 module.exports = { /** * 加密 */ encryptByDES:function (message) { const keyHex = CryptoJS.enc.Utf8.parse(key); const encrypted = CryptoJS.TripleDES.encrypt(message, keyHex, { iv: CryptoJS.enc.Utf8.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); }, /** * 解密 */ decryptByDES:function (ciphertext) { const keyHex = CryptoJS.enc.Utf8.parse(key); // direct decrypt ciphertext const decrypted = CryptoJS.TripleDES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse(ciphertext) }, keyHex, { iv: CryptoJS.enc.Utf8.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return decrypted.toString(CryptoJS.enc.Utf8); } }
3.main.js
import Encrypt from './common/encrypt'
Vue.prototype.$encrypt = Encrypt
使用方式
this.$encrypt.encryptByDES(str) //加密
this.$encrypt.decryptByDES(str);//解密