签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特别注意以下重要规则:
1.参数名转小写按ASCII码从小到大排序(字典序);
2.如果参数的值为空不参与签名;
3.传送的sign参数不参与签名。
第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,得到sign值signValue。
例:
参数如下:
appkey:EF1CDBD99B0D4060
orderid:5085656
timestrap:1561982771
签名信息如下:
stringA="appkey=EF1CDBD99B0D4060&orderid=5085656×trap=1561982771
stringSignTemp=stringA+"&key="+AppSecret
sign=MD5(stringSignTemp)