ADD 是否AES加密localStorage选项,默认明文

This commit is contained in:
sakuya 2022-05-27 16:36:36 +08:00
parent ff38fcc1d3
commit d1990e271c
2 changed files with 15 additions and 0 deletions

View File

@ -48,6 +48,12 @@ const DEFAULT_CONFIG = {
//主题颜色 //主题颜色
COLOR: '', COLOR: '',
//是否加密localStorage, 为空不加密可填写AES(模式ECB,移位Pkcs7)加密
LS_ENCRYPTION: '',
//localStorageAES加密秘钥位数建议填写8的倍数
LS_ENCRYPTION_key: '2XNN4K8LC0ELVWN4',
//控制台首页默认布局 //控制台首页默认布局
DEFAULT_GRID: { DEFAULT_GRID: {
//默认分栏数量和宽度 例如 [24] [18,6] [8,8,8] [6,12,6] //默认分栏数量和宽度 例如 [24] [18,6] [8,8,8] [6,12,6]

View File

@ -6,12 +6,17 @@
*/ */
import CryptoJS from 'crypto-js'; import CryptoJS from 'crypto-js';
import sysConfig from "@/config";
const tool = {} const tool = {}
/* localStorage */ /* localStorage */
tool.data = { tool.data = {
set(key, data, datetime = 0) { set(key, data, datetime = 0) {
//加密
if(sysConfig.LS_ENCRYPTION == "AES"){
data = tool.crypto.AES.encrypt(JSON.stringify(data), sysConfig.LS_ENCRYPTION_key)
}
let cacheValue = { let cacheValue = {
content: data, content: data,
datetime: parseInt(datetime) === 0 ? 0 : new Date().getTime() + parseInt(datetime) * 1000 datetime: parseInt(datetime) === 0 ? 0 : new Date().getTime() + parseInt(datetime) * 1000
@ -27,6 +32,10 @@ tool.data = {
localStorage.removeItem(key) localStorage.removeItem(key)
return null; return null;
} }
//解密
if(sysConfig.LS_ENCRYPTION == "AES"){
value.content = JSON.parse(tool.crypto.AES.decrypt(value.content, sysConfig.LS_ENCRYPTION_key))
}
return value.content return value.content
} }
return null return null