From f99d10e620e82a74db97572a0c7af5db4afaf1ca Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 29 Oct 2021 09:40:11 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.1.5=E3=80=91=E6=9B=B4=E6=96=B0RSA?= =?UTF-8?q?=E7=9A=84ThreadLocal=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../advice/EncryptionRequestBodyAdvice.java | 19 +++---------------- .../encrypt/holder/EncryptionRsaHolder.java | 17 +---------------- 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/advice/EncryptionRequestBodyAdvice.java b/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/advice/EncryptionRequestBodyAdvice.java index 7f95db0aa..abce1550d 100644 --- a/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/advice/EncryptionRequestBodyAdvice.java +++ b/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/advice/EncryptionRequestBodyAdvice.java @@ -14,7 +14,6 @@ import cn.hutool.crypto.asymmetric.RSA; import cn.hutool.crypto.symmetric.AES; import cn.hutool.crypto.symmetric.SM4; import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; -import cn.stylefeng.roses.kernel.security.request.encrypt.constants.EncryptionConstants; import cn.stylefeng.roses.kernel.security.request.encrypt.exception.EncryptionException; import cn.stylefeng.roses.kernel.security.request.encrypt.exception.enums.EncryptionExceptionEnum; import cn.stylefeng.roses.kernel.security.request.encrypt.holder.EncryptionHolder; @@ -60,10 +59,8 @@ public class EncryptionRequestBodyAdvice implements RequestBodyAdvice { /** * 设置条件,这个条件为true才会执行下面的beforeBodyRead方法 * - * @param methodParameter - * @param targetType - * @param converterType - * @return + * @author luojie + * @date 2021/10/29 9:32 */ @Override public boolean supports(MethodParameter methodParameter, Type targetType, Class> converterType) { @@ -111,7 +108,7 @@ public class EncryptionRequestBodyAdvice implements RequestBodyAdvice { } // 使用私钥解密出返回加密数据的key和请求的内容 - RSA rsa = EncryptionRsaHolder.getRsa(); + RSA rsa = EncryptionRsaHolder.STATIC_RSA; // 先使用SM4解密出请求的json String objectString = jsonObject.getString("data"); @@ -193,16 +190,6 @@ public class EncryptionRequestBodyAdvice implements RequestBodyAdvice { return body; } - /** - * 传入的json是空值的时候,进入这个方法 - * - * @param body - * @param inputMessage - * @param parameter - * @param targetType - * @param converterType - * @return - */ @Override public Object handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class> converterType) { return body; diff --git a/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/holder/EncryptionRsaHolder.java b/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/holder/EncryptionRsaHolder.java index 2b6780fef..d41cbf13c 100644 --- a/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/holder/EncryptionRsaHolder.java +++ b/kernel-d-security/security-sdk-request-encrypt-and-decode/src/main/java/cn/stylefeng/roses/kernel/security/request/encrypt/holder/EncryptionRsaHolder.java @@ -11,21 +11,6 @@ import cn.stylefeng.roses.kernel.security.request.encrypt.constants.EncryptionCo */ public class EncryptionRsaHolder { - private static final ThreadLocal RSA_HOLDER = new ThreadLocal() { - @Override - protected RSA initialValue() { - return new RSA(EncryptionConstants.PRIVATE_KEY, EncryptionConstants.PUBLIC_KEY); - } - }; - - /** - * 获取 RSA 实例 - * - * @author luojie - * @date 2021/6/4 08:59 - */ - public static RSA getRsa() { - return RSA_HOLDER.get(); - } + public static RSA STATIC_RSA = new RSA(EncryptionConstants.PRIVATE_KEY, EncryptionConstants.PUBLIC_KEY); }