-
Notifications
You must be signed in to change notification settings - Fork 0
parameter
estn.zuo edited this page Feb 2, 2019
·
3 revisions
APPID和KEY为系统管理员为每个应用接入分配的ID和秘钥
其中APPID为32位的字符串,KEY为16位字符串秘钥
KEY亦可作为AES对称加密算法的秘钥,在某些场合需要使用到,具体使用场合请参照接口详细文档
每个接口请求时都必须带上公共参数
| 名称 | 值类型 | 是否必须 | 描述 |
|---|---|---|---|
| appid | String(32) | Y | 应用ID:系统为每个客户端分配的唯一的APPID标识 |
| stamp | String(50) | Y | 邮戳:邮戳标识每次调用的唯一性。每次调用接口都需要随机携带一个邮戳字符串,用于标识每次请求。每次请求的邮戳都不一样。比如使用UUID |
| sign | String(32) | Y | MD5签名参数:签名请求参数,防止数据在传输过程中被窜改 |
签名参数SIGN是将请求源串以及密钥根据一定签名方法生成的签名值,用来防止数据在传输过程中被窜改,编码方式为"UTF-8"
签名值的生成共有几个步骤:
第一步:将除sign、token、文件流参数、URI模板参数和空值的参数以外的参数,按key进行字典升序排列
第二步:将第一步中排序后的参数(key=value)用&拼接起来,得到字符串string1
第三步:将秘钥KEY,用&拼接在第二步的字符串(string1)后,得到字符串string2
第四步:将第三步得到的字符串(string2),进行MD5编码,得到sign值
签名示例# # ### ### :
1.请求原始信息
nickname="malimali哄"
gender="FEMALE"
email=""
birthday="2014-10-10 00:00:00"
appid="17a9f6f0a7154a48b2664dbbb719306a"
stamp="38a5eb7a-50f1-4c09-8c59-cad95a5933d8"
token="38a5eb7a-50f1-4"
key="dff11af6e4e04c50"
2.排序后key的顺序
appid、birthday、gender、nickname、stamp
3.拼接参数
appid=17a9f6f0a7154a48b2664dbbb719306a&birthday=2014-10-10 00:00:00&gender=FEMALE&nickname=malimali哄&stamp=8a5eb7a-50f1-4c09-8c59-cad95a5933d8
4.将秘钥key拼接在签名字符串后
appid=17a9f6f0a7154a48b2664dbbb719306a&birthday=2014-10-10 00:00:00&gender=FEMALE&nickname=malimali哄&stamp=8a5eb7a-50f1-4c09-8c59-cad95a5933d8&dff11af6e4e04c50
5.将签名字符串进行MD5
sign=MD5(appid=17a9f6f0a7154a48b2664dbbb719306a&birthday=2014-10-10 00:00:00&gender=FEMALE&nickname=malimali哄&stamp=8a5eb7a-50f1-4c09-8c59-cad95a5933d8&dff11af6e4e04c50)
6.最终请求参数包括
nickname、gender、email、birthday、token、appid、stamp、sign
Authorization为Y表示该接口需要在登录的情况下才能调用。在调用此类接口时需要在请求参数中增加token参数。该token参数值为登录接口返回的值