• Http请求加签、验证操作


    加签、验签的作用

    常见的http请求交互过程中,请求参数通过url或者request body等形式传输。但是由于http请求的开放性,使得请求参数很容易被拦截篡改。因此,需要对请求参数进行加签,然后在请求接受方对请求参数进行验签,确保两个签名是一样的,验签通过之后请求处理方就可以进行业务逻辑处理了。

    但是,加签和验签只能解决请求传输过程中参数篡改的问题,并不能解决敏感参数传输的安全性问题。

    加签、验签的处理思路

    加签和验签就是在请求发送方将请求参数通过加密算法生成一个sign值,放到请求参数里;请求接受方收到请求后,使用同样的方式对请求参数也进行加密得到一个sign值,只要两个sign值相同,就说明参数没有被篡改。

    签名参数sign生成的方法

    1.将所有头参数(注意是所有参数),出去sign本身,以及值是空的参数,按参数键字母升序排序。

    2.然后把排序后的参数按参数1值1参数2值2...参数n值n(这里的参数和值必须是传输参数的原始值,不能是经过处理的,如不能将“转成”后再拼接)的方式拼接成一个字符串。

    3.把分配给接入方的验证密钥key拼接在第2步得到的字符串前面。

    4.在上一步得到的字符串前面加上密钥key(这里的密钥key是接口提供方分配给接口接入方的),然后计算md5值,得到32位字符串,然后转成大写,得到的字符串作为sign的值放到请求参数里。

  • 相关阅读:
    Java内存分配及垃圾回收机制
    《当你的才华还撑不起你的梦想时》读后感
    Java线程池入门必备
    单例模式的那些事
    idea超炫的自定义模板
    布隆过滤器概念和原理
    MessageDigest
    java zip 压缩与解压
    WebStorm 注册码
    taobao-pamirs-proxycache开源缓存代理框架实现原理剖析
  • 原文地址:https://www.cnblogs.com/bzsz-quan/p/9276360.html
Copyright © 2020-2023  润新知