From 86d368337175a7d7eed5e9330bd80a838ab4f396 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期四, 09 十一月 2023 17:25:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/igds-api-gateway' into igds-api-gateway
---
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewayRemoteServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++---
1 files changed, 72 insertions(+), 6 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 a6088d8..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
@@ -32,7 +32,6 @@
@Resource
private ApiLogRep apiLogRep;
-
@Resource
private GatewayConfService gatewayConfService;
@@ -165,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() + "&";
}
@@ -183,7 +204,6 @@
return result;
}
-
/**
* @param kqdm
* @return
@@ -198,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