# 签名算法
* 将**请求参数中除sign外的多个键值对**,根据键按照**字典序**排序,并按照"key1value1key2value2..."的格式拼成一个字符串(空值不参与签名,下面以打印接口参数为示例,具体请按照对接接口需要参数):
~~~
appid8000317deviceid12387486devicesecretjx6c56btprintdata一二三四五timestamp1593050202
~~~
* 将appsecret拼接在1中排序后的字符串后面得到待签名字符串:
~~~
appid8000317deviceid12387486devicesecretjx6c56btprintdata一二三四五timestamp1593050202f85f4816c53511b96e15bb4b0e3d3648
~~~
* 使用md5算法加密待加密字符串即为sign:
~~~
86fff7e413e4add054121c27e077567e
~~~
* 将sign添加到请求参数中