最近更新时间:

1. 为什么会报这个错

每次请求的入参都需要sign,sign是根据签名算法生成的。

滴滴侧接收到请求后,将接入方入参中的sign去掉,并根据入参中的client_id找到对应的sign_key,然后使用相同的签名算法计算sign1。

如果入参中的sign和sign1不一致,就会提示该错误。


这样做的目的是防止接入方请求过程中,请求数据被篡改。


2. 排查步骤

step 1

使用签名验证工具验证代码中的生成的sign和工具中生成的sign是否一致

  1. 使用方法:将代码中的请求参数(除sign之外)依次填入到相应的位置,再加上sign_key这个字段,点击发送请求
  2. 名词解释:加密字符串——即用md5算法加密之前按顺序拼接好的字符串(这个字符串特别重要)
  3. 如果代码中的签名和工具生成的签名不一致,请仔细核查代码中加密前的字符串和工具中加密字符串的区别(必须一模一样)

step 2

如果一致,请再仔细检查调用接口时传给滴滴侧的请求参数是否和计算sign的参数一样

step 3

如果自查未发现问题,请在提交问题时把md5(str)中的str以及返回值的request_id提供给滴滴同学