类 PaySignUtil
java.lang.Object
org.dromara.daxpay.single.sdk.util.PaySignUtil
如果需要进行签名,
1. 参数名ASCII码从小到大排序(字典序)
2. 如果参数的值为空不参与签名
3. 参数名不区分大小写
4. 嵌套对象转换成先转换成MAP再序列化为字符串
5. 支持两层嵌套, 更多层级嵌套未测试, 可能会导致不可预知的问题
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static StringcreateLinkString(Map<String, String> params) 把所有元素排序, 并拼接成字符, 用于签名, 同时会过滤掉 " 和 \ 字符hmacSha256(String data, String signKey) 生成16进制的 sha256 字符串hmacSha256Sign(Object object, String signKey) hmacSha256方式进行签名生成16进制 MD5 字符串md5方式进行签名signString(Object object, String signKey) 生成待签名字符串生成16进制 sm3 字符串sm3方式进行签名将参数转换为map对象.booleanverifyHmacSha256Sign(Object object, String signKey, String sign) hmacSha256签名验证booleanverifyMd5Sign(Object object, String signKey, String sign) MD5签名验证booleanverifySm3Sign(Object object, String signKey, String sign) SM3签名验证
-
构造器详细资料
-
PaySignUtil
public PaySignUtil()
-
-
方法详细资料
-
toMap
将参数转换为map对象. 使用ChatGPT生成 1. 参数名ASCII码从小到大排序(字典序) 2. 如果参数的值为空不参与签名; 3. 参数名不区分大小写; -
createLinkString
把所有元素排序, 并拼接成字符, 用于签名, 同时会过滤掉 " 和 \ 字符 -
md5
生成16进制 MD5 字符串- 参数:
data- 数据- 返回:
- MD5 字符串
-
hmacSha256
生成16进制的 sha256 字符串- 参数:
data- 数据signKey- 密钥- 返回:
- sha256 字符串
-
sm3
生成16进制 sm3 字符串- 参数:
data- 数据- 返回:
- SM3方式进行签名 字符串
-
signString
生成待签名字符串- 参数:
object- 待签名对象signKey- 签名Key- 返回:
- 待签名字符串
-
md5Sign
md5方式进行签名- 返回:
- 签名值
-
hmacSha256Sign
hmacSha256方式进行签名- 返回:
- 签名值
-
sm3Sign
sm3方式进行签名- 返回:
- 签名值
-
verifyMd5Sign
MD5签名验证 -
verifyHmacSha256Sign
hmacSha256签名验证 -
verifySm3Sign
SM3签名验证
-