假设获得开发者密钥 developer_key
:744ed968e7e1a4aebafa6f4888fced68
来对请求参数进行签名。1.参数筛选#
获取所有请求参数(不包括字节类型参数,如文件、字节流),剔除参数名为 sign
、sign_type
、key
、developer_key
的参数同时还请剔除参数值为 ''
或 null
的参数。
注意: 请不要将 developer_key
参数直接加入到请求参数中。
假定需要请求的参数如下:则根据规则经过参数筛选之后的参数为筛选剔除空值的参数
:2.参数排序#
按照参数名第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推。
经过参数排序之后参数为:3.参数拼接#
将排序后的参数名与参数值,组合成“参数名=参数值”的格式,并把这些参数用 & 字符连接起来,此时生成的字符串为最初的待签名字符串。经过参数拼接之后的最初待签名字符串为:4.签名#
使用 md5()方法对最终的待签名字符串进行签名,使用上面拼接好的参数拼接上 developer_key
:因此,请求参数的签名结果(即 sign
参数的值)为:2f1c4fbda84d518b6676e36b6bcaad4e
修改于 2024-01-17 07:31:32