소스 검색

参数加密

wukai 1 년 전
부모
커밋
bc7653b6e8

+ 12 - 3
doc-admin/src/main/java/com/doc/web/controller/system/SysAlarmController.java

@@ -7,12 +7,14 @@ import com.doc.common.core.controller.BaseController;
 import com.doc.common.core.domain.AjaxResult;
 import com.doc.common.core.page.TableDataInfo;
 import com.doc.common.enums.BusinessType;
+import com.doc.common.utils.Tools;
+import com.doc.common.utils.encrypt.Sm2Util;
 import com.doc.common.utils.poi.ExcelUtil;
 import com.doc.system.domain.SysAlarm;
 import com.doc.system.domain.SysConfig;
+import com.doc.system.domain.vo.AlarmVO;
 import com.doc.system.service.ISysAlarmService;
 import com.doc.system.service.ISysConfigService;
-import com.doc.system.domain.vo.AlarmVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -91,7 +93,10 @@ public class SysAlarmController extends BaseController {
     @PostMapping("/conf")
     public AjaxResult config(@RequestBody AlarmVO vo) {
         SysConfig config = configService.selectConfig("alarm.config");
-        config.setConfigValue(JSON.toJSONString(vo));
+        //SM2加密之后压缩
+        String value = Sm2Util.encrypt(JSON.toJSONString(vo));
+        value = Tools.compress(value);
+        config.setConfigValue(value);
         return toAjax(configService.updateConfig(config));
     }
 
@@ -104,7 +109,11 @@ public class SysAlarmController extends BaseController {
         SysConfig config = configService.selectConfig("alarm.config");
         AlarmVO vo = new AlarmVO();
         try {
-            vo = JSONObject.parseObject(config.getConfigValue(), AlarmVO.class);
+            String value = config.getConfigValue();
+            //先解压缩,再SM2解密
+            value = Tools.uncompress(value);
+            value = Sm2Util.decrypt(value);
+            vo = JSONObject.parseObject(value, AlarmVO.class);
         } catch (Exception ignored) {
         }
         return AjaxResult.success(vo);

+ 11 - 2
doc-system/src/main/java/com/doc/sms/controller/SmsConfigController.java

@@ -6,6 +6,8 @@ import com.doc.common.annotation.Log;
 import com.doc.common.core.controller.BaseController;
 import com.doc.common.core.domain.AjaxResult;
 import com.doc.common.enums.BusinessType;
+import com.doc.common.utils.Tools;
+import com.doc.common.utils.encrypt.Sm2Util;
 import com.doc.sms.vo.SmsConfigVO;
 import com.doc.system.domain.SysConfig;
 import com.doc.system.service.ISysConfigService;
@@ -33,7 +35,10 @@ public class SmsConfigController extends BaseController {
     @PostMapping()
     public AjaxResult config(@RequestBody SmsConfigVO vo) {
         SysConfig config = configService.selectConfig("sms.config");
-        config.setConfigValue(JSON.toJSONString(vo));
+        //SM2加密之后压缩
+        String value = Sm2Util.encrypt(JSON.toJSONString(vo));
+        value = Tools.compress(value);
+        config.setConfigValue(value);
         return toAjax(configService.updateConfig(config));
     }
 
@@ -43,7 +48,11 @@ public class SmsConfigController extends BaseController {
         SysConfig config = configService.selectConfig("sms.config");
         SmsConfigVO vo = new SmsConfigVO();
         try {
-            vo = JSONObject.parseObject(config.getConfigValue(), SmsConfigVO.class);
+            String value = config.getConfigValue();
+            //先解压缩,再SM2解密
+            value = Tools.uncompress(value);
+            value = Sm2Util.decrypt(value);
+            vo = JSONObject.parseObject(value, SmsConfigVO.class);
         } catch (Exception ignored) {
         }
         return AjaxResult.success(vo);

+ 7 - 1
doc-system/src/main/java/com/doc/sms/service/impl/SmsServiceImpl.java

@@ -3,6 +3,8 @@ package com.doc.sms.service.impl;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.doc.common.enums.SmsType;
+import com.doc.common.utils.Tools;
+import com.doc.common.utils.encrypt.Sm2Util;
 import com.doc.sms.domain.SmsRecord;
 import com.doc.sms.service.ISmsRecordService;
 import com.doc.sms.service.ISmsService;
@@ -50,7 +52,11 @@ public class SmsServiceImpl implements ISmsService {
         SmsConfigVO vo = new SmsConfigVO();
         String yes = "1";
         try {
-            vo = JSONObject.parseObject(config.getConfigValue(), SmsConfigVO.class);
+            String value = config.getConfigValue();
+            //先解压缩,再SM2解密
+            value = Tools.uncompress(value);
+            value = Sm2Util.decrypt(value);
+            vo = JSONObject.parseObject(value, SmsConfigVO.class);
             this.secretId = vo.getSecretId();
             this.secretKey = vo.getSecretKey();
             this.appId = vo.getAppid();