SignUtil.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package com.ruoyi.demo.utils;
  2. import cn.hutool.core.map.MapUtil;
  3. import cn.hutool.crypto.SecureUtil;
  4. import java.util.Map;
  5. public class SignUtil {
  6. public static String sign(Map<String, Object> params, String xmlData, String appSecret) {
  7. params.remove("sign");
  8. String data = MapUtil.sortJoin(params, "", "", true, xmlData);
  9. data = appSecret + data + appSecret;
  10. String md5 = SecureUtil.md5(data);
  11. return md5.toUpperCase();
  12. }
  13. public static boolean verify(Map<String, Object> params, String xmlData, String appSecret) {
  14. String signed = (String) params.remove("sign");
  15. String sign = sign(params, xmlData, appSecret);
  16. return sign.equals(signed);
  17. }
  18. public static String sign(Map<String, Object> params, String appSecret) {
  19. params.remove("sign");
  20. String data = MapUtil.sortJoin(params, "", "", true);
  21. data = appSecret + data + appSecret;
  22. String md5 = SecureUtil.md5(data);
  23. return md5.toUpperCase();
  24. }
  25. public static boolean verify(Map<String, Object> params, String appSecret) {
  26. String signed = (String) params.remove("sign");
  27. String sign = sign(params, appSecret);
  28. System.out.println("signed:"+signed);
  29. System.out.println("sign:"+sign);
  30. return sign.equals(signed);
  31. }
  32. }