美文网首页
参数签名(appKey、appSecret、sign)

参数签名(appKey、appSecret、sign)

作者: 意大利大炮 | 来源:发表于2022-11-03 16:00 被阅读0次

为什么要参数签名

  • 保证接口的数据不会被篡改和重复调用

原理

  • 调用端对参数进行加密,服务端也对参数后加密后与调用端加密结果对比
  • 加密算法:两端约定好加密算法,加密算法需加盐,通过参数排序、拼接秘钥、MD5等方式进行加密
  • 秘钥对:服务端对每个调用端生成appKey和appSecret,appSecret为隐秘信息,调用端本地存储。

调用端

  • 预先获取:appKey、appSecret
  • 调用:
    传参appKey、timestamp(毫秒时间戳,5秒过期, 防止dos攻击)、业务参数、签名
    签名算法
    1. 对参数按照ASCII码表进行排序,得到结果:num: 10, nickName: 小泡芙, username:张三
    2. 拼接排序后的字段进行拼接,得到结果:s1 = num10nickName小泡芙username张三
    3. 在拼接好的字符串后加上appSecret,得到结果:s2 = secret + s1 + secret
    4. 最后使用md5算法:md5(s2)
    请求参数示例, 注意:没有传appSecret
{
            "nickName": "小泡芙",
            "username": "张三",
            "num": 10,
            "appKey": "App-3782917398173123-32223",
            "timestamp": "2022-10-14 15:53:23",
            "sign": "ajhkd123dh8902381273823"
        }
  • 流程图


    image.png

接收端

  • 接收参数:
  • 验签:
    1. 校验时间戳(防止抓取数据后恶意高频访问),判断时间戳是否过期
    2. 校验appSecret:获取appSecret,判断是否过期
    3. 校验签名:走签名算法生成签名(需要把签名先从参数表移出来),与接收签名对比。
  • 流程图:


    image.png

相关文章

  • 参数签名(appKey、appSecret、sign)

    为什么要参数签名 保证接口的数据不会被篡改和重复调用 原理 调用端对参数进行加密,服务端也对参数后加密后与调用端加...

  • ShareSDK集成篇

    先看下整体分享后结果 1.进入ShareSDK官网 **申请AppKey 和 AppSecret ** 配置参数 ...

  • Retrofit 请求加密问题咨询?

    需求如下:请求时需要对参数(含头部公共参数)加密获的签名sign,之后将签名sign作为参数放入头部。 遇到问题:...

  • 集成三方登录分享

    1.第三方账号申请 微博: AppID AppKey AppSecret 微信: AppID及AppSecret(...

  • OPPO推送

    OPPO推送的文档接口,写着需要的值是AppKey和AppSecret,但实际需要传的是AppKey和Master...

  • iOS HmacSha256Hex签名

    为了网络安全,后台会对接口进行加密,需要对请求的参数进行sign加密。此时此刻,我们iOS开发对需要对sign签名...

  • iOS微信第三方登录

    1.先拿微信开路。。。。 设置微信的appKey和appSecret 2.applicationDelegate中...

  • QQ/微博三方登不上

    微博:在AppDelegate里需三个配置1.appKey2.appSecret3.redirectURL QQ:...

  • 集成阿里热修复采坑

    在阿里云管理控制台创建你的应用,得到AppKey、AppSecret、RSA 在你的Androidmanifest...

  • iOS教程 如何免费使用SMSSDK

    iOS教程 如何免费使用SMSSDK 一、注册应用获取appKey 和 appSecret (1)到Mob官网注册...

网友评论

      本文标题:参数签名(appKey、appSecret、sign)

      本文链接:https://www.haomeiwen.com/subject/hcqutdtx.html