签名方法
为了防止API调用过程中被恶意篡改,调用任何一个API都需要携带签名
签名算法(MD5算法):
- 对所有API请求参数(包括公共参数和业务参数,但除去sign参数和值为空的参数),根据参数名称
的ASCII码表的顺序排序。如:
a=1, c=3, b=2排序后的顺序是a=1, b=2,c=3。 - 将排序好的参数名和参数值按url拼装方式拼接在一起,根据上面的示例得到的结果为:
a=1&b=3&c=2。 - 在拼装的字符串后加上secret_key后,采用utf-8编码, 再进行MD5摘要,如
secret_key=xxxx:
md5(a=1&b=3&c=2&secret_key=xxxx) - 将摘要得到的字节流结果使用十六进制表示,并转换成大写。
如:
hex(“helloworld”.getBytes(“utf-8”)).toUpperCase()= “68656C6C6F776F726C64”