46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# 签名计算规则示例:
|
|
|
|
# 以下仅做示例说明,实际的签名规则可自行设计。
|
|
|
|
### 简要描述:
|
|
- 除sign字段外,所有参数按照字段名的ascii码从小到大排序后,使用QueryString的格式(即key1=value1&key2=value2…)拼接成字符串后,再在前后追加上 商户密钥 的值,然后转换成32位大写的MD5字符串。
|
|
#### <font color='red'>注意事项:如空值参数是否参与签名需要在提供的文档中进行说明哈</font>
|
|
|
|
**假设 商户密钥 值为:** <font color='red'>rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7</font>
|
|
|
|
**假设请求参数为:**
|
|
```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
|
|
```
|
|
|
|
|
|
|
|
|
|
|