接口签名原理 以及反思

使用用户名 Appkey 密码 AppSecret (只有双方知道) 时间戳 所有拍过序的参数 组合起来,MD5加密,加密得到的签名

因为MD5是hash 函数,根据hash函数的特性 单项性,反向计算是不可能的;

比如sign=MD5(用户名 +密码+时间戳+参数)
及时中间截获了sign 签名,没有办法反向 解密,只要在服务端验证签名再次MD5 计算一遍,看签名是否正确,实现接口安全性;

密码是只有双方才知道的,及时知道参数,因为不知道密码所以 ,没法获得正确的签名;

如果是密码也知道了,比如内部人员的恶意攻击呢?

因为有时间戳,可以约定多长时间内有效,如果知道了时间戳的格式呢?比如内部人员呢,

所以这样来看是有漏洞的;

如果时间戳约定的时间,在某一段时间有效,比如10秒内,这样会好点,因为泄密也有一定的时间,当对方拿到appkey 再去请求,时间已经过了

appsecret 的存储,如果存储?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值