zoukankan      html  css  js  c++  java
  • HTTP API 加签名规则

    签名步骤

    1. 将所有参数(注意是所有参数),除去sign本身,以及值是空的参数,按参数名字母升序排序。
    2. 然后把排序后的参数按参数1值1参数2值2…参数 n 值n(这里的参数和值必须是传输参数的原始值,不能是经过处理的,如不能将"转成”后再拼接)的方式拼接成一个字符串。
    3. 把分配给接入方的验证密钥key拼接在第 2 步得到的字符串后面。
    4. 计算步骤 3 所得字符串的 md5 值,得到 32 位字符串。然后转成大写, 得到的字符串作为 sign 的值。

    签名示例

    假设传输的数据是 http://www.xxx.com/interface.aspx?sign=sign_value&p2=v2&p1=v1&method=cancel&p3=&pn=vn(实际情况最好是通过 post 方式发送),其中 sign 参数对应的 sign_value 就是签名的值。

    1. 拼接字符串,首先去除 sign 参数本身,然后去除值是空的参数 p3,剩下 p2=v2&p1=v1&method=cancel&pn=vn,然后按参数名字符升序排序,method=cancel&p1=v1&p2=v2&pn=vn。
    2. 然后做参数名和值的拼接,最后得到 methodcancelp1v1p2v2pnvn 。
    3. 在上面拼接得到的字符串后面加上验证密钥 key,我们假设是 abc,得到新的字符串 methodcancelp1v1p2v2pnvnabc 。
    4. 然后将这个字符串进行 md5 计算,假设得到的是 abcdef,然后转为大写,得到 ABCDEF 这个值即为sign签名值。

    注意,计算 md5 之前请确保接口与接入方的字符串编码一致,如统一使用 utf-8 编码或者 GBK 编码,如果编码方式不一致则计算出来的签名会校验失败。

  • 相关阅读:
    杯具,丢失了一部分邮件
    Android Building System 总结
    build/envsetup.sh
    PhoneApp是什么时候被创建的
    测试电信的WAP PUSH的方法
    修改Activity响应音量控制键修改的音频流
    ril崩溃时的出错地址定位
    java interface 强制类型转换小记
    android 修改系统程序图标大小
    git 合并patch的方法
  • 原文地址:https://www.cnblogs.com/seanvon/p/6479050.html
Copyright © 2011-2022 走看看