签名算法说明:

签名生产的通用步骤如下:

第一步:设所有发送或者接收到的数据为集合 M,将集合 M 内非空的参数值的参数按照参数名 ASCII码从小到大排序(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串stringA

特别注意一下重要规则:

1.参数名 ASCII 码从小到大排序(字典序);

2.如果参数的值为空不参与签名;

3.参数名区分大小写;

4.验证调用返回或主动通知签名时,传送的 sign 参数不参与签名,将生成的签名与该 sign 值校验。

第二步,在 stringA 进行 MD5 运算,得到 sign 值 signValue

举例:

假设传送的参数如下:

appid:wxd930ea5d5a258f4f

mch_id: 10000100

Device_info: 100

body:test

nonce_str: asddgxcvfgh

第一步:对参数按照 key=value 的格式,并按照参数名 ASCII 字典序排序如下:

stringA=”appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=asddgxcvfgh”

第二步:在拼接的字符串之后添加签名的 key

stringA=”appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=asddgxcvfgh&key=*********”

第三步:

sign=MD5(stringA)

最后请求传的参数为

appid:wxd930ea5d5a258f4f

mch_id: 10000100

Device_info: 100

body:test

nonce_str: asddgxcvfgh

sign:298139198882198392193912312312

results matching ""

    No results matching ""