3.1.2Sign签名生成说明
第一步,设所有发送或者接收到的数据为集合M,将集合M内的参数按照参数名从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特别注意以下重要规则:
- 1、参数值从小到大排序(字典序);
- 2、参数值区分大小写;
- 3、data参数为空也需要参与签名;
- 4、接口可能增加字段,验证签名时必须支持增加的扩展字段
- 5、回调验证签名时,回调数据data字段里的参数不能打乱顺序(排列位置不要改变)
第二步,在stringA最后拼接上AppSecret得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为小写,得到sign值。
举例说明:假设传参数
{
“parkkey”: “1667057606737278”,
“appid”: “123456”,
“version”: “v1.0”,
“timestamp”: “20221024174317”,
“data”:”{\”passwayNo\”:\”1\”}”
}
第一步:对参数按照key=value的格式,并按照参数名字典序排序如下
stringA=”appid=123456&data={“passwayNo”:”1”}&parkkey=1667057606737278&
timestamp=1667035015000&version=v1.0&”
第二步:拼接key=AppSecret密钥
stringSignTemp=stringA+”key=111111”
第三步:字符串MD5加密,注意:32位小写
sign=MD5(stringSignTemp).toUpperCase()=”993718bf20f72212062d9a31bb541622”//注:MD5签名方式
作者:mry 创建时间:2024-10-24 09:01
更新时间:2024-10-24 11:29
更新时间:2024-10-24 11:29