客户端实现流程:
- 1 筛选并排序
- 获取所有请求参数 (包括公共请求参数),不包括字节类型参数,如⽂件、字节流
- 剔除 signature字段,剔除值为空的参数,并按照第⼀ 个字符的键值 ASCII 码递增排序 (字⺟升序排序)
- 如果遇到相同字符则按照第⼆个字符的键值 ASCII 码递增排序, 以此类推
- 2 拼接
- 将排序后的参数与其对应值, 组合成
参数=参数值
的格式 - 并且把这些参数⽤
&
字符连接起来, 此时⽣成的字符串为待签名字符串
- 将排序后的参数与其对应值, 组合成
- 3 调⽤签名函数
- 使⽤各⾃语⾔对应的 SHA256WithRSA签名函数利⽤私钥对签名字符串进⾏签名,RSA秘钥长度为1024.
- 把签名进⾏ Base64 编码。把⽣成的签名赋值给
signature
参数, 拼接到请求参数中