随机API密钥生成器

使用PHP的加密安全随机函数在服务器上生成密钥。可选十六进制、base64url、字母数字或UUIDv4格式,设置8–128个随机字符,并按需添加sk_live_等前缀。设置和前缀会发送到服务器,生成值随后返回本页。

如何生成API密钥

  1. 1

    选择输出长度

    设置8–128个随机字符。UUIDv4始终为36个字符,因此会停用长度设置。

  2. 2

    选择格式

    可选十六进制、base64url、字母数字或UUIDv4。

  3. 3

    如需添加前缀,请点击

    像 sk_test_ 这样的前缀可帮助您在日志记录和 GitHub 扫描中识别泄露的密钥。

  4. 4

    生成并复制

    点击“重新生成”,直到获得满意的钥匙形状;将其复制并保存至您的秘密管理器中。

为何使用 CSPRNG

PHP在服务器上使用random_bytes()random_int()生成值。两者都适用于加密安全的随机数。因此生成过程需要向本站发送请求,并非只在浏览器中完成。

编码对照表

格式 输出字符 长度
十六进制 0-9 a-f 8–128个字符
字母数字 0-9 A-Z a-z 8–128个字符
Base64url A-Z a-z 0-9 - _ 8–128个字符
UUIDv4 十六进制数字和连字符 固定36个字符

尺寸选择指南

  • 128位(16字节)是现代标准基准。即使生成数十亿个密钥,该标准仍能抵御生日攻击。
  • “256位(32字节)”专用于长期使用的密钥或Webhook密钥。 对于所有面向公众的代币,其熵值均不得低于96位。

运营小贴士

将密钥哈希值存储在数据库中(例如SHA-256),创建时仅显示一次,并仅保存哈希值。

  • 按环境区分的前缀键:sk_live_sk_test_
  • 通过在撤销旧密钥前生成新密钥来实现密钥轮换,从而避免系统停机。

常见问题

每个十六进制字符代表4位,因此32个字符包含128个随机位。UUIDv4总长度也是128位,但版本和变体字段固定,所以只有122位是随机的。

不。保存前需使用SHA-256或argon2对数据进行哈希处理。当API调用方提供密钥时,应对其发送的数据进行哈希比对。若数据库发生泄露,攻击者仅能获取哈希值。

可以。前缀最多64个字符,并添加在随机部分之前。请只用它标识密钥类型或环境。

网站使用PHP的random_bytes()和random_int()在服务器上生成。设置和可选前缀会发送到服务器。

相关工具

此工具还提供其他语言版本