签名算法
签名生成的通用步骤如下:
第一步、设所有发送或接收的数据为集合 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
```
得到签名数据