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