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 编码,如果编码方式不一致则计算出来的签名会校验失败。

  • 相关阅读:
    codeforces 814B An express train to reveries
    codeforces 814A An abandoned sentiment from past
    codeforces 785D D. Anton and School
    codeforces 785C Anton and Fairy Tale
    codeforces 791C Bear and Different Names
    AOP详解
    Spring集成JUnit测试
    Spring整合web开发
    IOC装配Bean(注解方式)
    IOC装配Bean(XML方式)
  • 原文地址:https://www.cnblogs.com/seanvon/p/6479050.html
Copyright © 2011-2022 走看看