API签名认证

定义 :

本质:

1. 签发签名

2. 使用签名(校验签名)

为什么需要?

1.保证安全性,不能随便一个人调用

通过http request header 头传递参数

参数1 accrssKey: 调用的标识 (复杂,无序,无规律)

 参数2  secetKey : 密钥

(类似用户名和密码 ,区别 as sk 是无状态的)

!!! 千万不能把密钥在服务器之间传递(不安全),有可能会被拦截

如何解决

参数3  sign

加密方式:对称加密,非对称加密,md5签名(不可解密)

用户参数: abc+密钥 =》签名生成算法 (MD5,HMac,Sha1)=》不可解密的值

如何判断这个签名是否正确?

服务端使用一模一样的参数和算法去生成签名,只要和用户传的一致,就表示一致。

解决重放的问题?

重放的问题解释   就是通过拦截获取请求头参数,调用接口。

参数4 1.加一个随机数 只能用一次(问题服务端要保存随机数)

参数5  加一个 timestamp 时间戳 ,校验时间戳是否过期

参数6 、用户请求参数

(标准化实现)

API签名认证是一个很灵活的设置  具体参数,参数名依据业务实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值