x-datadigest的生成

生成方式

x-datadigest=base64(md5(待签名字符串))

待签名字符串=未URL编码的请求BODY+KEY

请求BODY见首页

第一步-拼接

业务参数名与其对应参数值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,并在末尾拼接上KEY(在个人中心中查看),此时生成的字符串为待签名字符串

第二步-生成签名

算法见"多种语言示例"

以下是示例:

以下是示例请自行替换业务参数和KEY

假设有如下业务参数

msg_type=GETMARK
data={"unionCode":"536178917071","send_province":"上海市","send_city":"上海市","send_district":"青浦区","send_address":"华新镇华志路123号","receive_province":"四川省","receive_city":"成都市","receive_district":"武侯区","receive_address":"610号和兴润园二期1栋2单元1003室"}
company_id=testcompanyid

假设KEY为testkey

那么拼接成的待签名字符串为

msg_type=GETMARK&data={"unionCode":"536178917071","send_province":"上海市","send_city":"上海市","send_district":"青浦区","send_address":"华新镇华志路123号","receive_province":"四川省","receive_city":"成都市","receive_district":"武侯区","receive_address":"610号和兴润园二期1栋2单元1003室"}&company_id=testcompanyidtestkey

各个参数的拼接顺序无要求,只要和http请求时的参数顺序一致即可

其中

  1. 生成签名的请求body和上篇文档中的请求body唯一不同的地方在于:此处不需要URL编码
  2. key请在“个人中心”中查看
  3. 对MD5生成的byte数组再base64
  4. 这里的key和网点提供的“账号”、“密码”毫无关系,请不要混淆
  5. 字符集编码不支持"GBK",请用"UTF-8"
  6. "请求body+key"是直接将"请求body"和"key"拼接起来,不包含其中的"+"
  7. 请仔细确认请求body是你http请求传的参数,也请确认你传的参数是API文档中写的“业务参数”

具体代码参见"多种语言示例"

一个签名验证工具:http://58.40.16.125:9001/digesttool/

results matching ""

    No results matching ""