签名算法

签名生成的通用步骤如下: 第一步、设所有发送或接收的数据为集合 A,将集合 A 内参数按文档顺序,使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 sign_str。 第二步、使用 HMAC-SHA256 签名方式(部分语言的 hmac 方法生成结果二进制结果,需要调对应函数转化为十六进制字符串)进行运算,再将得到的字符所有字符转换为大写,得到 sign 值。 举例: 假设传递的参数如下: ``` key: 123456 list: xxx ``` 按第一步,结果如下: ```PHP $sign_str = 'key=123456&list=xxx'; ``` 按第二步: ```PHP $secret = 'a1b2c3'; // secret 为平台分配的密匙 $sign = strtoupper(hash_hmac('sha256', $sign_str, $secret)); // 109601E0B4B02E3F58816F684BAB31D4CD9667CD6CE784251171B3C916D68BDA ``` 得到签名数据