From d1990e271c949f0a3ab30389eafcc4fc9cafb2d3 Mon Sep 17 00:00:00 2001 From: sakuya <81883387@qq.com> Date: Fri, 27 May 2022 16:36:36 +0800 Subject: [PATCH] =?UTF-8?q?ADD=20=E6=98=AF=E5=90=A6AES=E5=8A=A0=E5=AF=86lo?= =?UTF-8?q?calStorage=E9=80=89=E9=A1=B9=EF=BC=8C=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=98=8E=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/index.js | 6 ++++++ src/utils/tool.js | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/src/config/index.js b/src/config/index.js index fb63632c..21064adc 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -48,6 +48,12 @@ const DEFAULT_CONFIG = { //主题颜色 COLOR: '', + //是否加密localStorage, 为空不加密,可填写AES(模式ECB,移位Pkcs7)加密 + LS_ENCRYPTION: '', + + //localStorageAES加密秘钥,位数建议填写8的倍数 + LS_ENCRYPTION_key: '2XNN4K8LC0ELVWN4', + //控制台首页默认布局 DEFAULT_GRID: { //默认分栏数量和宽度 例如 [24] [18,6] [8,8,8] [6,12,6] diff --git a/src/utils/tool.js b/src/utils/tool.js index fadb9d67..8c027dbc 100644 --- a/src/utils/tool.js +++ b/src/utils/tool.js @@ -6,12 +6,17 @@ */ import CryptoJS from 'crypto-js'; +import sysConfig from "@/config"; const tool = {} /* localStorage */ tool.data = { set(key, data, datetime = 0) { + //加密 + if(sysConfig.LS_ENCRYPTION == "AES"){ + data = tool.crypto.AES.encrypt(JSON.stringify(data), sysConfig.LS_ENCRYPTION_key) + } let cacheValue = { content: data, datetime: parseInt(datetime) === 0 ? 0 : new Date().getTime() + parseInt(datetime) * 1000 @@ -27,6 +32,10 @@ tool.data = { localStorage.removeItem(key) 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 null