安全规范

1、签名算法

签名校验工具(暂无)

示例参数:

{ "ChannelKey": "web", "Method": "Member.SearchMembers", "BizContent": "{\"Name\":\"xiaoA\",\"Mobile\":\"13111111111\",\"CardNo\":\"\"}", "Sign": "A85301F9F379128B8B5184F6DFCFE03C", "SignType": "MD5", "Format": "json", "Charset": "utf-8", "Version": "1.0", "Timestamp": "2017-01-01 14:12:13" }

根据以上参数生成签名的步骤如下:

第一步,将上面的参数数据(Sign除外)按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串如示:

"BizContent={\"Name\":\"xiaoA\",\"Mobile\":\"13111111111\",\"CardNo\":\"\"}&ChannelKey=web&Charset=utf-8&Format=json&Method=Member.SearchMembers&SignType=MD5&Timestamp=2017-02-12 14:12:13&Version=1.0"

特别注意以下重要规则:

● 拼接成的字符串不能包含Sign;

● 空值参数仍然参与签名计算;

第二步,在第一步生成的字符串最后加上ChannelKey对应的AppKey,假如ChannelKey对应的AppKey是aaaaaaaaaa,则最终加密前的字符串如下:

"BizContent={\"Name\":\"xiaoA\",\"Mobile\":\"13111111111\",\"CardNo\":\"\"}&ChannelKey=web&Charset=utf-8&Format=json&Method=Member.SearchMembers&SignType=MD5&Timestamp=2017-02-12 14:12:13&Version=1.0aaaaaaaaaa"

注:ChannelKey和AppKey,请联系对接支持人员获取。

第三步,对第二步的字符串执行参数中SignType指定的加密方式加密,得到加密字符串。

第四步,将第三步中的加密字符串全部转换为大写并赋值给参数中的Sign。