3.数字签名
目前采用 md5 算法做数字签名,合作商请求 API 时,将请求的时间戮 timestamp、合作商编码userid、合作商密钥 userkey 和请求接口 requesttype 进行 md5 加密作为数字签名, 并且由 API接口保证合作商的密钥唯一独有。当合作商请求到达 API 接口后,API 接口使用该合作商编码获取密钥,对时间戮、合作商编码、合作商密钥和请求接口相应的加密, 然后验证该两个密文是否相同,从而保证请求不可篡改及伪造。
MD5 签名计算公式:
sign = md5(timestamp+userid+md5(userkey)+requesttype)
timestamp=1325385028 (为当前请求的时间戳)
userkey=xielong_key_demo (携龙提供的合作商密钥,可找携龙获取)
userid=xielong1001 (携龙分配给每个合作商的唯一编码,可找携龙获取)
requesttype=productlist (接口标识)
注意:首先需要对 userkey 做一次 md5 加密
假设按照上面说的来计算,则签名的结果为(此处只是示例,以实际计算结果为准) :
sign = md5(timestamp+userid+md5(userkey)+requesttype)
=md5(1325385028xielong10010938ea43ce959b5bf8282be24ce0b640productlist)
=23d387a8fe5244f685582d27dbd31b39
注:MD5 加密方案是标准 MD5,加密结果为 32 位全小写字母和数字