From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:44:19 +0800
Subject: [PATCH] 删除

---
 src/main/java/com/gk/firework/Domain/Utils/SignUtils.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Domain/Utils/SignUtils.java b/src/main/java/com/gk/firework/Domain/Utils/SignUtils.java
new file mode 100644
index 0000000..afd8397
--- /dev/null
+++ b/src/main/java/com/gk/firework/Domain/Utils/SignUtils.java
@@ -0,0 +1,69 @@
+package com.gk.firework.Domain.Utils;
+
+import java.util.Map;
+import java.util.Random;
+import java.util.TreeMap;
+
+import static com.gk.firework.Domain.Utils.StringUtils.MD5Encoder;
+
+
+public class SignUtils {
+
+    public static String getTimestamp() {
+        //生成时间戳
+
+        long timestampLong =System.currentTimeMillis();
+
+        String timestampStr = String.valueOf(timestampLong);
+
+        return timestampStr;
+    }
+
+    public static String getNonceStr(int length){
+
+        //生成随机字符串
+
+        String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
+
+        Random random=new Random();
+
+        StringBuffer randomStr=new StringBuffer();
+
+        // 设置生成字符串的长度,用于循环
+
+        for(int i=0; i<length; ++i){
+            //从62个的数字或字母中选择
+
+            int number=random.nextInt(62);
+
+            //将产生的数字通过length次承载到sb中
+
+            randomStr.append(str.charAt(number));
+        }
+
+        //将承载的字符转换成字符串
+
+        return randomStr.toString();
+    }
+
+    //类似微信接口的签名生成方法
+    public static String createSign(Map<String, String> params, String privateKey){
+        StringBuilder sb = new StringBuilder();
+        // 将参数以参数名的字典升序排序
+        Map<String, String> sortParams = new TreeMap<String, String>(params);
+        // 遍历排序的字典,并拼接"key=value"格式
+        for (Map.Entry<String, String> entry : sortParams.entrySet()) {
+            String key = entry.getKey();
+            String value =  entry.getValue().trim();
+            if (!StringUtils.isEmpty(value))
+                sb.append("&").append(key).append("=").append(value);
+        }
+        String stringA = sb.toString().replaceFirst("&","");
+        String stringSignTemp = stringA + "&"+"appkey="+privateKey;
+        //将签名使用MD5加密并全部字母变为大写
+        String signValue = MD5Encoder(stringSignTemp,"utf-8").toUpperCase();
+        System.out.println("stringA+privateKey后MD5加密+转换全部大写生成sign为:       "+signValue);
+        return signValue;
+    }
+
+}

--
Gitblit v1.9.2