签名算法

签名要素

元素Key 说明
Nonce 随机数。GUID格式,每次调用接口都应该新生成。
Timestamp 当前UTC时间时间戳。13位毫秒级。
App 授权方颁发的身份认证信息中的AppKey. 调用不同Application的数据App值应该随之发生变化。
Security 授权方颁发的身份认证信息中的SecurityKey. 调用不同Application的数据Security值应该随之发生变化。
业务参数 每个接口所需要的参数。

签名需传递的内容及传递方式

传递内容:
元素Key 说明
Nonce 签名要素中的Nonce
Timestamp 签名要素中的Timestamp
App 签名要素中的App
Sign 计算获得的签名值
传递方式:

将需要传递的内容添加到 Http Header 中。没有顺序要求。

算法

  1. 过滤业务参数

    把所有业务参数添加到一个Dictionary中,并过滤掉参数值为null的Item.

  2. 对签名要素排序

    把其他签名要素与对应的值添加到第一步中的Dictionary中,根据Dictionary的key按照升序排列,得到排序后的Dictionary。

  3. 拼接签名原串

    把排序后的字典拼接为字符串。

    单个Item按照 key=value 的形式组合,所有组合完成的Item用 & 符号拼接。注意,此处用到的value实际是value的序列化值。

  4. 调用SHA-256加密签名原串,得到签名值

    调用SHA-256方法,对签名原串进行加密,加密得到的值就是签名值。

© Digital Maker Product Team all right reserved,powered by Gitbook该文件修订时间: 2023-02-02 10:40:12

results matching ""

    No results matching ""