开发者 / 安全

API密钥生成器(随机、带前缀、安全)

在浏览器中生成密码学安全的随机API密钥或秘密令牌:选择长度、字母和数字、十六进制或base64url字符,并可添加sk_live_等前缀,查看其比特强度。

API密钥生成器(随机、带前缀、安全): 每个字符都由浏览器的密码学安全随机生成器选出,并使用拒绝采样,确保任何字符被选中的概率都不会更高。强度为长度×log₂(字符数量):32个字母和数字可提供190比特,32个十六进制字符可提供128比特。超过128比特的内容无法被猜出。 完全在浏览器中本地运行,文件不会上传到服务器。

使用次数
在浏览器中
费用
免费·无需注册
可用性
可直接使用
API密钥生成器本地处理

完全在浏览器中运行

每个密钥含190位随机性

密钥由浏览器的加密随机数生成器生成,每个字符出现的概率相同,且绝不会发送到任何地方。强度等于长度乘以字符数的log₂:32个字母和数字可提供190位强度。使用sk_live_这样的前缀,便于在代码中识别密钥,也能让机密扫描工具找到泄露的密钥。在服务器上只存储每个密钥的哈希值,就像处理密码一样。

密钥和UUID

随机UUID包含122位随机数据,足以用作标识符,但其固定格式让它看起来像ID,而不是机密信息。此工具生成的密钥长度不限;如需生成标识符,请使用UUID生成器。

存储密钥

由于API密钥很长且具有随机性,使用SHA-256这类快速hash即可安全存储;bcrypt这类慢速hash适用于人类密码。使用hash生成器计算密钥的hash,即可查看服务器保存的内容。

使用方法

  1. 选择长度和字符集。
  2. 如需生成易于识别的密钥,请添加前缀。
  3. 生成一个或多个密钥,然后复制它们。

隐私与限制

密钥在你的浏览器中生成,不会发送或保存。

相关工具

常见问题

API密钥应有多长?

至少需要128比特的随机性:22个字母和数字、32个十六进制字符,或22个base64url字符。

为什么要添加前缀?

sk_live_这样的前缀可以让你一眼看出密钥的用途,也能让秘密扫描工具发现意外提交到代码中的密钥。

服务器应如何存储密钥?

像存储密码一样:保存哈希值,例如SHA-256,并比较哈希值;完整密钥只向其所有者显示一次。

免费工具·使用在浏览器中次·无需账户