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 位全小写字母和数字