php - 如何创建强大的 api key

标签 php api api-key

我想创建一个安全的 REST API

例如,如果我看到 google API,API KEY 是基于域生成的。

从这里我有两个问题:

首先,使用单向散列是真的/正确吗?如果是,如果有人知道散列方法和域,他将如何生成 api key 并使用它。我可以使用什么哈希方法/函数?

第二个是,如果客户端制作桌面应用程序,他如何生成从桌面访问的 API KEY,现在是一个具有域 url 的网站。我的意思是,他们可以生成 api key ,因为没有 url。

有什么好的方法吗?,如何创建安全的 api 以及如何创建 api key ?

顺便说一句,我正在使用 PHP

最佳答案

  1. 您可以使用和混合许多带有附加盐的哈希方法,这些方法可以基于域+其他逻辑,这将非常难以猜测或破解(取决于您使用的哈希算法将使用和其他东西),除非有人知道它是如何完成的。 您还可以生成 UUID 并将其用作 api key (我可能会使用它),http://en.wikipedia.org/wiki/Uuid以版本4为例,你可以查看它的实现细节,甚至可以很容易地想到一些改进。

  2. 不太清楚你的意思。

关于php - 如何创建强大的 api key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7832938/

相关文章:

php - 是否可以通过 Google Chrome 的地理定位功能使用自定义 IP?

php mysql : joining two tables

php - 无法使用 Composer 安装 PHP 扩展 mongo

php - usort 日期协助

ios - 我的 "didFinishLaunchingWithOptions"怎么能等到调用 api 完成

api - 是否有适用于 Office 365 的配置 API?

java - 集成 Lotus Notes 应用程序的最佳方法是什么?

php - HTTP 基本身份验证与 key

android - 如何为我的 Android 应用程序获取 Google Places API key

google-api - 如何通过 google/apiclient 从 PHP 使用 Google Drive API 的 API key