From c22d92306c48509acf74b2ef3388e939bab85e5a Mon Sep 17 00:00:00 2001
From: chenjiahe <763432473@qq.com>
Date: 星期三, 25 五月 2022 19:35:56 +0800
Subject: [PATCH] 生成签名修改

---
 src/main/java/com/hx/util/rsa/RSASignature.java |   33 +++++++++++++++++++++++++++++----
 1 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/hx/util/rsa/RSASignature.java b/src/main/java/com/hx/util/rsa/RSASignature.java
index ed41ab5..4a39e3a 100644
--- a/src/main/java/com/hx/util/rsa/RSASignature.java
+++ b/src/main/java/com/hx/util/rsa/RSASignature.java
@@ -1,13 +1,13 @@
 package com.hx.util.rsa;
 
-import com.sun.org.apache.xml.internal.security.utils.Base64;
+import com.hx.util.StringUtils;
 
 import java.security.KeyFactory;
 import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.spec.PKCS8EncodedKeySpec;
 import java.security.spec.X509EncodedKeySpec;
-
+import java.util.*;
 
 
 /**
@@ -27,7 +27,7 @@
      * @param encode 瀛楃闆嗙紪鐮�
      * @return 绛惧悕鍊�
      */
-    public static String sign(String content, String privateKey, String encode) {
+    public static String createSign(String content, String privateKey, String encode) {
         try {
             PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec( Base64.decode(privateKey) );
 
@@ -51,7 +51,7 @@
         return null;
     }
 
-    public static String sign(String content, String privateKey) {
+    public static String createSign(String content, String privateKey) {
         try{
             PKCS8EncodedKeySpec priPKCS8 	= new PKCS8EncodedKeySpec( Base64.decode(privateKey) );
             KeyFactory keyf = KeyFactory.getInstance("RSA");
@@ -121,4 +121,29 @@
         return false;
     }
 
+    /**
+     * ASCII鐮侀�掑鎺掑簭锛堝墧闄ょ┖鍊硷級
+     * @param params
+     * @return
+     */
+    public static String getSignCheckContent(Map<String, String> params) {
+        if (params == null) {
+            return null;
+        } else {
+            StringBuilder content = new StringBuilder();
+            List<String> keys = new ArrayList(params.keySet());
+            Collections.sort(keys);
+
+            for(int i = 0; i < keys.size(); ++i) {
+                String key = (String)keys.get(i);
+                Object value = params.get(key);
+                if(value == null || StringUtils.isEmpty(value.toString())){
+                    continue;
+                }
+                content.append(i == 0 ? "" : "&").append(key).append("=").append(value);
+            }
+            return content.toString();
+        }
+    }
+
 }

--
Gitblit v1.8.0