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;