本文档由小幺鸡编辑

签名生成规则: 对于访问者会分配一个userid和userSecret,这2个值是成对的。

其中userid每次请求时明文传到服务器端,userSecret不会直接传递,而是作为签名的一个计算因子。这样即使网络上被截获报文,因为不知道userSecret,就算知道签名算法,也无法伪造报文。

把全局参数userid、userSecret、time参数,加上对应的接口名称,其他交互参数,依次用key=value形式连接,按key字母顺序排序,以@@分隔,如果值为空,不加入计算; 所得结果,再用MD5计算的校验和,全部大写形式。

请求参数使用标准form参数,以下是一个例子:
http://XXXXXXXXXXXX/api/getMember.jhtml?apiAppCode=XXX&time=1379669194&checkValue=da832adf08307412asdfa87sdf08a2341234&memberId=3213

上面参数例子中除memberId是方法参数外,其它都是交互必填参数。


签名计算方法示例,对以下请求参数:

参数名

 
 apiAppCode hzw
 apiAppSecret a29c8d3
 time 1396938735
 memberId  21

上述参数,apiAppCode对应的apiAppSecret为a29c8d3,所以所有参数相加的值为:apiAppCode=hzw@@apiAppSecret=a29c8d3@@memberId=21@@method=getMember@@time=1396938735
正确计算的checkValue的值应当为:66C1418D6FF15126EC0E97DCB994BCD1,请确保自己实现方法的结果与此一致。