From 29bd44e8648aa2df488f94e7a947ed6839a33877 Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期四, 09 十一月 2023 00:02:18 +0800
Subject: [PATCH] 手动测试

---
 src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java |   77 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java
index c43f29e..c5c8362 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java
@@ -2,10 +2,7 @@
 
 import com.alibaba.fastjson2.JSONObject;
 import com.fzzy.api.data.PushProtocol;
-import com.fzzy.api.utils.MyMD5Util;
-import com.fzzy.api.utils.RSAUtils;
-import com.fzzy.api.utils.RedisConst;
-import com.fzzy.api.utils.RedisUtil;
+import com.fzzy.api.utils.*;
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.gateway.service.GatewayConfService;
 import com.fzzy.gateway.util.GatewayHttpUtil;
@@ -20,8 +17,11 @@
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.TreeMap;
 
 
 @Slf4j
@@ -164,6 +164,28 @@
     public String getSign(Map<String, String> parames, String priKey) {
         //鍙傛暟鎷兼帴
         String msg = "";
+        parames = sortMapKey(parames);
+        for (Map.Entry<String, String> param : parames.entrySet()) {
+            msg += param.getKey() + "=" + param.getValue() + "&";
+        }
+        msg = msg.substring(0, msg.length() - 1);
+
+        log.debug("------寰呭姞瀵嗕俊鎭�-----{}", msg);
+
+        //MD5鍔犲瘑
+        String md5sign = MyMD5Util.getMD5(msg);
+        log.debug("------md5鍔犲瘑-----{}", md5sign);
+
+        //RSA鍔犲瘑
+        String result = GatewayRSAUtils.encryptByPrivate(md5sign, priKey);
+        log.debug("------RSA鍔犲瘑-----{}", result);
+
+        return result;
+    }
+    public static String getSign2(Map<String, String> parames, String priKey) {
+        //鍙傛暟鎷兼帴
+        String msg = "";
+        parames = sortMapKey(parames);
         for (Map.Entry<String, String> param : parames.entrySet()) {
             msg += param.getKey() + "=" + param.getValue() + "&";
         }
@@ -182,7 +204,6 @@
         return result;
     }
 
-
     /**
      * @param kqdm
      * @return
@@ -197,5 +218,51 @@
 
     }
 
+    private static Map<String, String> sortMapKey(Map<String, String> map){
+        if(map == null || map.isEmpty()){
+            return  null;
+        }
+
+
+        Map<String, String> sortMap = new TreeMap<>(new Comparator<String>() {
+            @Override
+            public int compare(String o1, String o2) {
+                return o1.compareTo(o2);
+            }
+        });
+        sortMap.putAll(map);
+        return sortMap;
+    }
+
+
+    public static void main(String[] args) throws UnsupportedEncodingException {
+        //缃戝叧蹇冭烦鎺ュ彛
+//        Map<String, String> params = new HashMap<>();
+//        //params.put("token", "");
+//        params.put("gatewayId", "6e3d92ff71b911eea5e50250f2000002");
+//        params.put("gatewayIp", "123");
+//        params.put("gatewayMac", "123");
+//        params.put("gatewayCPU","123");
+//        params.put("gatewayMem", "123");
+//        params.put("gatewayHardDisk", "123");
+//        params.put("timestamp", "2023-10-31 12:12:12");
+//        String sign = getSign2(params,"MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEA0lg35sJGRyUFEDzt\np9pWvc0JD+0+SmiZIgMbUaEM5gqBsvUJ9LnzB0rpMTbuqAxAFbUH1Nw4qXdJVnKS\nRYfPgQIDAQABAkBPkxIq2Uou9gFRYEtkGcSA70VDYjQTgDiWVmiKXAv+JkEJmOno\\nMrHYQGAiP0q4xW66F+CLNCrGPVJns2ywMxwxAiEA/vyNX5M0/t+RHAxpMp484i9T\nb5Qf+HvepOV3c0UGZx0CIQDTLj4+qgoXGOLCM9/dzVJZ04VIjK6u546z22hXFWgI\ntQIhAMWFP8JMlx3kc1UF7Cuw1jrkLD7fwJBM7CBSPODHFHmlAiEAhv4Hcf02B/+z\nbBrG3rzSCHOKvo6XV1zTvqrhLtGTOAUCIGmoaIDgTuS0ZF71+c9mYvPVNL0T02GQ\nE8Y3ExreQphx");
+//        params.put("sign", sign);
+//
+//        System.out.println(sign);
+        byte[] encryptedData = GatewayRSAUtils.decryptBase64("yx7jNj9DGS7AkH/sXo5IrwaGNCSUnAZFmjXwWovMBfvYGVQur1RELXUu4fqIMZZ/ck6CAA3ESOJCS+aCD0aVdA==");
+        StringBuilder hexString = new StringBuilder();
+        for (byte b : encryptedData) {
+            String hex = Integer.toHexString(0xFF & b);
+            if (hex.length() == 1) {
+                hexString.append('0');
+            }
+            hexString.append(hex);
+        }
+        String hexStringResult = hexString.toString();
+        System.out.println(hexStringResult);
+        System.out.println(BytesUtil.bytesToString(GatewayRSAUtils.decryptBase64("mgtJOOn5iZBvmQI3hzvaw2J4BiZUcXhLTsgLk8++Ig2iIZcPaky7V+ylkA+BAYxIBS5ovHXjRo4w26TTEq9k7Q==")));
+
+    }
 
 }

--
Gitblit v1.9.3