建一个js文件,存放加/解密函数
import Vue from 'vue'
import CryptoJS from "crypto-js";
一、MD5全局加密函数
Vue.prototype.EncryptMD5 = function (data) {
if (typeof data === 'string') {
data = data
} else {
data = JSON.stringify(data)
}
const encrypted = CryptoJS.MD5(data)
return encrypted.toString();
}
二、DES全局加密函数
/* data : 加密数据
key:密钥
vi:密钥偏移量
*/
Vue.prototype.EncryptDES = function (data, key = '12345678') {
if (typeof data === 'string') {
data = data
} else {
data = JSON.stringify(data)
}
const keyHey = CryptoJS.enc.Utf8.parse(key);
const encrypted = CryptoJS.DES.encrypt(data, keyHey,
{
iv: keyHey,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
三、DES全局解密函数
Vue.prototype.DecryptDES = function (data, key = '12345678') {
const keyHey = CryptoJS.enc.Utf8.parse(key);
const decrypted = CryptoJS.DES.decrypt(data, keyHey,
{
iv: keyHey,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return JSON.parse(decrypted.toString(CryptoJS.enc.Utf8));
}