为什么两者的关键,在很多网站的API秘密?(Why both a key and a secret

2019-09-23 00:04发布

许多网站的REST API给你一个密钥和私密。 当您对API的请求,你必须返回他们。 有什么用的呢? 就没有一个人就够了吗?

  • 它不是一个公共/私有密钥交换:你给他们两个,对不对?

  • 你还没有与秘密散列您的内容与计算其他值,因为在许多散列算法:你总是给出相同的密钥和密码了。

我能找到的唯一的事情就是一个答案, 如何使用验证密钥和秘密? 上面写着服务器可以便宜哈希域(或可能的用户名或别的东西)与秘密并检查它是否是匹配的。 事实是否真的使用?

(奖金是这一机制的名称。它似乎并不匹配什么我可以找到关于加密机制计算器/维基)。


更新 :答案和一些评论的告诉我,这一个坏主意,同时通过一个键和一个请求相应的密钥。 发生在实践中,却是一个坏主意,不过。

Answer 1:

你会谈论HMAC Authentication
key你提的是一样的东西您的帐户名,它不会被直接用于任何身份验证。 该secret将共享严格脱机状态并且永远不会送回去。 在HMAC验证您发回一组paramters导出的签名服务器和客户端,当然还有双方商定secret是它的一部分。



文章来源: Why both a key and a secret in many web APIs?
标签: api rest