Skip to content
estn.zuo edited this page Feb 2, 2019 · 3 revisions

1. APPID和KEY说明

APPID和KEY为系统管理员为每个应用接入分配的ID和秘钥

其中APPID为32位的字符串,KEY为16位字符串秘钥

KEY亦可作为AES对称加密算法的秘钥,在某些场合需要使用到,具体使用场合请参照接口详细文档

2. 公共参数说明

每个接口请求时都必须带上公共参数

名称 值类型 是否必须 描述
appid String(32) Y 应用ID:系统为每个客户端分配的唯一的APPID标识
stamp String(50) Y 邮戳:邮戳标识每次调用的唯一性。每次调用接口都需要随机携带一个邮戳字符串,用于标识每次请求。每次请求的邮戳都不一样。比如使用UUID
sign String(32) Y MD5签名参数:签名请求参数,防止数据在传输过程中被窜改

3. SIGN签名参数说明

签名参数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

4. Authorization说明

Authorization为Y表示该接口需要在登录的情况下才能调用。在调用此类接口时需要在请求参数中增加token参数。该token参数值为登录接口返回的值

Clone this wiki locally