加密方式
所有接口采用以下加密方式,在下文接口定义中不再描述加密参数表中的三个参数,这三个参数必传。
加密参数表:
|参数名|类型|备注|
|-|-|-|
|timestamp|long|时间戳,接收方验证3分钟(180000毫秒)内有效|
|sign|String|密文|
|ocode|String|固定值说明,访问者标识|
示例参数表:
|参数名|类型|备注|
|-|-|-|
|timestamp|long|时间戳,接收方验证3分钟(180000毫秒)内有效|
|sign|String|密文|
|ocode|String|固定值说明,访问者标识|
|param1 |*|任意参数|
|param2 |*|任意参数|
假设定义秘钥如:abc
1、 将参数表中除sign以外所有参数放入treemap利用红黑树对键进行排序。
2、 根据键顺序获得以下符串:
ocode=ycjy¶m1=value1¶m2=value2×tamp=1517824234764&
3、 将以上字符串与密钥拼接获得以下字符串:
ocode=ycjy¶m1=value1¶m2=value2×tamp=1517824234764&abc
如果存在传递参数为空 "" 或者null,拼接为形式如下:
ocode=ycjy¶m1=value1¶m2=×tamp=1517824234764&abc
为空的参数也需要拼入字符串,用于生成签名。
4、 对拼接后的字符串做MD5加密获得字符串获得sign(密文)值:
3f6a15956a447e4c6fd205f3c3eda747