nxdt-uniapp/utils/aescbc.js

48 lines
1016 B
JavaScript

import * as CryptoJS from 'crypto-js'
const cbc_key = CryptoJS.enc.Utf8.parse('zhgd@bonus@zhgd@bonus@1234567890')
const cbc_iv = CryptoJS.enc.Utf8.parse('1234567812345678')
/**
* 加解密开关
* 默认参数需要加密
* @type {boolean}
*/
const jia_mi = true
/**
* 默认后台会自动加密
* @type {boolean}
*/
const jie_mi = true
/**
* 加密
* @param word
* @returns {string}
*/
export const encryptCBC = function (word) {
if (!jia_mi) {
return word
}
const srcs = CryptoJS.enc.Utf8.parse(word)
const encrypted = CryptoJS.AES.encrypt(srcs, cbc_key, {
iv: cbc_iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.toString()
}
/**
* 解密
* @param word
* @returns {*}
*/
export const decryptCBC = function (word) {
if (!jie_mi) {
return word
}
const encrypted = CryptoJS.AES.decrypt(word, cbc_key, {
iv: cbc_iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.toString(CryptoJS.enc.Utf8)
}