一、安装crypto-js
npm i crypto-js
二、封装desCbc.js
var cryptoJs = require("crypto-js");
const key = cryptoJs.enc.Utf8.parse("yj6kgf8h2jhda") // 密钥
const iv = cryptoJs.enc.Utf8.parse('bjkbkfss') // 密钥偏移量
export const decryptByCBC = function(str) {
let decrypted = cryptoJs.DES.decrypt(str, key, {
iv: iv,
mode: cryptoJs.mode.CBC,
padding: cryptoJs.pad.Pkcs7
});
decrypted = cryptoJs.enc.Utf8.stringify(decrypted);
return decrypted;
}
export const Encrypt = function(word) {
let srcs = cryptoJs.enc.Utf8.parse(word)
let encrypted = cryptoJs.DES.encrypt(srcs, key, {
iv: iv,
mode: cryptoJs.mode.CBC,
padding: cryptoJs.pad.Pkcs7
})
return encrypted.toString()
}
export default {
decryptByCBC,
Encrypt
}
三、使用
可挂载原型链上方便后续使用
// main.js
import {decryptByCBC,Encrypt} from '@/common/desCbc.js'
Vue.prototype.$decryptByCBC = decryptByCBC;
Vue.prototype.$Encrypt = Encrypt;