From cf847e2321ba1ce39cf6342d3e0224c1aa3eebc3 Mon Sep 17 00:00:00 2001 From: yxt_mtl <2049520089@qq.com> Date: Wed, 11 Dec 2024 16:29:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0api=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E7=A7=BB=E5=8A=A8signature=E5=88=B0service?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/yxt/ss/gateway/api/rest/ApiTestRest.java | 0 .../com/yxt/ss/gateway/api/{rest => service}/Signature.java | 4 +++- .../java/com/yxt/ss/gateway/api/utils/SignatureUtil.java | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/yxt/ss/gateway/api/rest/ApiTestRest.java rename src/main/java/com/yxt/ss/gateway/api/{rest => service}/Signature.java (93%) diff --git a/src/main/java/com/yxt/ss/gateway/api/rest/ApiTestRest.java b/src/main/java/com/yxt/ss/gateway/api/rest/ApiTestRest.java new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/yxt/ss/gateway/api/rest/Signature.java b/src/main/java/com/yxt/ss/gateway/api/service/Signature.java similarity index 93% rename from src/main/java/com/yxt/ss/gateway/api/rest/Signature.java rename to src/main/java/com/yxt/ss/gateway/api/service/Signature.java index 91aaef1..93fba50 100644 --- a/src/main/java/com/yxt/ss/gateway/api/rest/Signature.java +++ b/src/main/java/com/yxt/ss/gateway/api/service/Signature.java @@ -36,12 +36,14 @@ public class Signature { ResultBean rb = ResultBean.fireFail(); Map parameters = data; //1、解析参数,校验_app是否正确,_t是否在5分钟内。 + + //检验_app 参数,1参数中是否存在2该参数是否为空3_app参数值是否在数据库中存在 if (!parameters.containsKey("_app") || parameters.get("_app") == null || parameters.get("_app").trim().isEmpty()) { return rb.setMsg("_app参数缺失或无效"); } - //2、根据_app参数获取对应的secret值。 + //2、根据_app参数获取对应的secret值。后续考虑从数据库中获取。 String secret = getSecret(parameters.get("_app")); if (StringUtils.isEmpty(secret)) { return rb.setMsg("_app参数不正确"); diff --git a/src/main/java/com/yxt/ss/gateway/api/utils/SignatureUtil.java b/src/main/java/com/yxt/ss/gateway/api/utils/SignatureUtil.java index 3c71acc..318b1af 100644 --- a/src/main/java/com/yxt/ss/gateway/api/utils/SignatureUtil.java +++ b/src/main/java/com/yxt/ss/gateway/api/utils/SignatureUtil.java @@ -23,9 +23,10 @@ public class SignatureUtil { * @return 签名 */ public static String generateSignature(Map parameters, String secret) throws UnsupportedEncodingException, NoSuchAlgorithmException { - + //1.对参数进行排序 + Map treeMap=new TreeMap<>(parameters); // 2. 拼接参数字符串 - String content = joinParameters(parameters); + String content = joinParameters(treeMap); // 3. 将密钥加在参数字符串的前后 content = secret + content + secret;