# 签名计算规则示例: # 以下仅做示例说明,实际的签名规则可自行设计。 ### 简要描述: - 除sign字段外,所有参数按照字段名的ascii码从小到大排序后,使用QueryString的格式(即key1=value1&key2=value2…)拼接成字符串后,再在前后追加上 商户密钥 的值,然后转换成32位大写的MD5字符串。 #### 注意事项:如空值参数是否参与签名需要在提供的文档中进行说明哈 **假设 商户密钥 值为:** rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7 **假设请求参数为:** ```csharp { "userId":"1001", "orderNo":"2023061917481700001", "productNo":"test01", "buyNum":1, "attach":"{\"account\":\"13888888888\"}", "maxAmount":"" "timestamp":1687168097, "callbackUrl":"", "version":"1.0", "sign":"EF387ED4D401A275498A9FCC6C22116B" } ``` **验签步骤:** 1. 转换成字符串如下: ``` attach={"account":"13888888888"}&buyNum=1&callbackUrl=&maxAmount=&orderNo=2023061917481700001&productNo=test01×tamp=1687168097&userId=1001&version=1.0 ``` 2. 前后追加上 商户密钥 的MD5源串如下: ``` rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7attach={"account":"13888888888"}&buyNum=1&callbackUrl=&maxAmount=&orderNo=2023061917481700001&productNo=test01×tamp=1687168097&userId=1001&version=1.0rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7 ``` 3. MD5后转成32位大写的签名值如下: ``` EF387ED4D401A275498A9FCC6C22116B ```