From e12c6cee69ba9e41d57ff24519552b7900084493 Mon Sep 17 00:00:00 2001 From: yixian Date: Fri, 23 Apr 2021 09:44:16 +0800 Subject: [PATCH] fix sysconfig email pwd update --- .../sysconfig/web/SysConfigController.java | 16 ++++++++++++++-- .../payment/manage/process/aes/AESTest.java | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysConfigController.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysConfigController.java index 9503123d1..987f125f9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysConfigController.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysConfigController.java @@ -8,13 +8,16 @@ import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.env.SysConfigManager; import au.com.royalpay.payment.tools.http.HttpUtils; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; +import au.com.royalpay.payment.tools.utils.EmailPasswordDecryptUtils; import com.alibaba.fastjson.JSONObject; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by yixian on 2017-01-06. @@ -22,6 +25,8 @@ import java.util.List; @RestController @RequestMapping("/sysconfig") public class SysConfigController { + @Resource + private EmailPasswordDecryptUtils emailPasswordDecryptUtils; @Resource private SysConfigManager sysConfigManager; @Resource @@ -30,8 +35,15 @@ public class SysConfigController { private SysPaymentConfig sysPaymentConfig; @ManagerMapping(value = "/base", method = RequestMethod.GET) - public JSONObject getBaseConfig() { - return sysConfigManager.getSysConfig(); + public Map getBaseConfig() { + JSONObject config = sysConfigManager.getSysConfig(); + return config.entrySet().stream() + .peek(entry -> { + if (emailPasswordDecryptUtils.checkPrefix(entry.getKey())) { + String decrypted = emailPasswordDecryptUtils.decoding(entry.getKey(), entry.getValue().toString()); + entry.setValue(decrypted); + } + }).collect(HashMap::new,(map,entry)->map.put(entry.getKey(),entry.getValue()), Map::putAll); } @ManagerMapping(value = "/base", method = RequestMethod.PUT, role = ManagerRole.DEVELOPER) diff --git a/src/test/java/au/com/royalpay/payment/manage/process/aes/AESTest.java b/src/test/java/au/com/royalpay/payment/manage/process/aes/AESTest.java index c0e8f61a5..5561e50cf 100644 --- a/src/test/java/au/com/royalpay/payment/manage/process/aes/AESTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/process/aes/AESTest.java @@ -28,7 +28,7 @@ public class AESTest { @Test public void decode() { - String mailPwdEncrypted = "pLkLTFw8Xf3aa6US7USSwOQ2v/q+m7HTTFhk39l4BWI="; + String mailPwdEncrypted = "31/5F7bKHYHaF0x0zk42lQ=="; String decodeKey = "EPrfsM2JE69ZPR7BhXn34g=="; Key aesKey = AESCrypt.fromKeyString(Base64.decodeBase64(decodeKey)); String mailPwd = new String(AESCrypt.decrypt(Base64.decodeBase64(mailPwdEncrypted), aesKey), StandardCharsets.UTF_8);