bonus-ui/src/utils/aescbc.js

46 lines
1.0 KiB
JavaScript

import * as CryptoJS from 'crypto-js'
import { AES_CONFIG } from './configure'
const cbc_key = CryptoJS.enc.Utf8.parse(AES_CONFIG.AES_KEY)
const cbc_iv = CryptoJS.enc.Utf8.parse(AES_CONFIG.AES_IV)
/**
* 加解密开关
* 默认参数需要加密
* @type {boolean}
*/
const encryptEnabled= false;
// /**
// * 默认后台会自动加密
// * @type {boolean}
// */
// const decryptEnabled=true;
/**
* 加密
* @param word
* @returns {string}
*/
export const encryptCBC = function(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(!decryptEnabled){
// 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)
}