接口采用3DES加密算法,加密模式CBC,填充方式PKCS7 Padding
1.首先安装 crypto-js npm install crypto-js --save-dev
2.新建 common/encrypt.js,内容:
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);//解密
2 个评论
要回复文章请先登录或注册
r***@qq.com
阳东