参数签名加密流程

  1. 将参数名称,按照字典顺序对请求中所有的参数名称(不包括sign参数)进行排序
  2. 使用UTF-8字符集,按照 RFC3986 ,将参数名称和参数值分别进行URL encoded编码
  3. 编码之后,将参数名称和参数值之间用=连接,形成参数对,将参数对用&连接,得到类似k1=v1&k2=v2的字符串str1
  4. 将str1与appsecret进行&连接,得到类似k1=v1&k2=v2&appsecret,得到待签名字符串str2
  5. 将待签名字符串str2中的特殊字符进行如下替换(所有符号都是英文的):
  1. 将待签名字符串str2进行md5计算,得到sign

注:“请求中所有的请求参数”:如果是post请求,就是消息体里面的所有参数;如果是get请求,就是url后面的所有参数

签名示例

  1. 假设appsecret是abcdefg,请求参数为:
  1. array {
  2. "method" => "test",
  3. "username" => "aaa",
  4. "password" => "dfds",
  5. "head_type" => "sd",
  6. "fields" => "afds"
  7. }
  1. 按参数顺序排序后如下:(php版ksort()函数)
    1. array {
    2. "fields" => "afds"
    3. "head_type" => "sd",
    4. "method" => "test",
    5. "password" => "dfds",
    6. "username" => "aaa",
    7. }
  2. 生成待签名字符串

fields=afds&head_type=sd&method=test&password=dfds&username=aaa&abcdefg

  1. 对待签名字符串md5计算,得到sign

836b1cc3e5e91b89b04100a07fa9d0a7

用户校验

当用户请求时,我们会对用户的身份进行验证:

即刻开始使用

只需完成注册与实名认证,即可体验我们的贴心服务