From 1f5947ccb5b02817dbe5aaae943c0a7fcfc2cd62 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期四, 09 十一月 2023 00:54:24 +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 | 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