签名规则

兑吧与开发者之间所有的请求进行md5签名,确保传输的安全可靠。

签名原理

md5签名的原理如下: 将所有的参数值与appSecret按参数名升序进行排列。

Md5(value1+value2+...appSecret...+valueN)

appSecret在签名中的顺序取决于他在所有参数名中的顺序。

例: appKey:testappkeyappSecret:testsecret

参数列表: {appKey=testappkey,timestamp=1405495206727}

签名原串: testappkeytestsecret1405495206727

签名后字符串: 39e73663eb1caf2096968e680991ba2c

签名url :http://www.xxx.com/xxx?appKey=testappkey&timestamp=129832323&sign=39e73663eb1caf2096968e680991ba2c

注意:

签名验证时,必须遍历request请求中的所有参数,进行签名验证。 兑吧向开发者发起的请求,未来有可能会添加业务参数,开发者在验证请求时,务必对所有参数进行遍历,全部加入签名验证数据中。

如果开发者写死签名验证参数,未来兑吧升级参数将导致开发者服务不可用,请谨慎。

签名规则测试用例

为了方便开发者对签名方法进行测试验证,下面举例说明签名规则和签名方法。

1.以免登陆地址参数请求签名参数为例:url=" http://www.duiba.com.cn/autoLogin/autologin?sign=49b12bc5579a2a2a4652a68cd53c1e5e&uid=test&appKey=testappKey&credits=100&timestamp=1520559858580& "

2.其中密钥appSecret的值为:appSecret=testappSecret。

3.链接中请求参数 :appKey=testappKey ; uid=test ; credits=100 ; timestamp=1520559858580 ;

4.把appSecret加入参数列表,并拼装成签名数组列表如下:

{ appKey=testappKey, appSecret=testappSecret, uid=test , credits=100 , timestamp=1520559858580 }

5.把数组按照参数名升序排列如下:

{ appKey=testappKey, appSecret=testappSecret, credits=100 , timestamp=1520559858580 , uid=test }

6.根据规则,把排序后参数列表的参数值拼装成签名源串如下:

strs= testappKeytestappSecret1001520559858580test

7.把上面拼装成的参数源串加密后获得的签名如下:

sign=MD5(strs)= 49b12bc5579a2a2a4652a68cd53c1e5e

results matching ""

    No results matching ""