接口设计的18条军规

前言
之前写过一篇文章《表设计的18条军规》,发表之前,在全网广受好评。
今天延续设计的话题,给大家总结了接口设计的18条军规,希望对你会有所帮助。

1. 签名
为了防止API接口中的数据被篡改,很多时候我们需要对API接口做签名。
接口请求方将请求参数 + 时间戳 + 密钥拼接成一个字符串,然后通过md5等hash算法,生成一个前面sign。
然后在请求参数或者请求头中,增加sign参数,传递给API接口。
API接口的网关服务,获取到该sign值,然后用相同的请求参数 + 时间戳 + 密钥拼接成一个字符串,用相同的m5算法生成另外一个sign,对比两个sign值是否相等。
如果两个sign相等,则认为是有效请求,API接口的网关服务会将给请求转发给相应的业务系统。
如果两个sign不相等,则API接口的网关服务会直接返回签名错误。
问题来了:签名中为什么要加时间戳?
答:为了安全性考虑,防止同一次请求被反复利用,增加了密钥没破解的可能性,我们必须要对每次请求都设置一个合理的过期时间,比如:15分钟。
这样一次请求,在15分钟之内是有效的,超过15分钟,API接口的网关服务会返回超......

版权声明:cnblogshot 发表于 2024-05-24 18:04:14。
转载请注明:接口设计的18条军规 | 程序员导航网

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...