参数签名

参数签名相关有三个基本参数,每个请求都需要附带,说明如下:
name 意义
appId 基本参数 代理商的唯一id 需要申请
timeStamp 基本参数 当前时间戳(毫秒数) 有效期10分钟
sign 参数签名
sign生成算法 :

sign生成算法需要secretKey,该secretKey在开通appId时一并给到,请小心保存。

  1. 将请求中所有参数(包括appId、timeStamp和其他业务参数)按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。如果中文参数需要URL Encode,请使用URL Encode之前的值。
  2. key=${secretKey}拼接到stringA末尾,得到拼接好后的stringB。
  3. 将stringB全部转化为小写,得到stringC
  4. 对stringC进行MD5(注意字符编码为utf-8)加密,然后把加密结果的小写字母转化为大写字母,从而得到加密后的32位字符串(sign)。
示例:

请求:http://openapi.beta.piaoniu.com/openapi/v2/tickets/batchDetails?ids=1000&appId=10000&timeStamp=1489756931881 secrectKey为iev7j3ttwgh8kwz

  1. ids=1000&appId=10000&timeStamp=1489756931881重新排序和拼接为stringA:appId=10000&ids=1000&timeStamp=1489756931881
  2. 将secretKey加到末尾,得到stringB appId=10000&ids=1000&timeStamp=1489756931881&key=iev7j3ttwgh8kwz
  3. 将stringB全部转化为小写,得到stringC appid=10000&ids=1000&timestamp=1489756931881&key=iev7j3ttwgh8kwz
  4. 对stringC进行MD5加密并转为大写,得到sign=25F13FD81E314ECA7768B03F2E3D2AD2,最终请求为:

http://openapi.beta.piaoniu.com/openapi/v2/tickets/batchDetails?ids=1000&appId=10000&timeStamp=1489756931881&sign=25F13FD81E314ECA7768B03F2E3D2AD2

注意点

签名易错点:

  1. 值在签名过程中值不需要转化成小写。 e.g. 身份证字段值中的idCard切勿转小写。 idCard示例

results matching ""

    No results matching ""