密钥生成器
完全在浏览器中批量生成加密安全的 API 密钥、令牌、UUID 和机密。
该密钥生成器为 API、JWT 和会话密钥、加密密钥、盐和令牌创建开发人员级随机密钥。每个密钥都是使用浏览器的加密安全随机源 (crypto.getRandomValues) 在本地生成的 - 不会将任何密钥发送到服务器,因此对于真正的生产秘密来说是安全的。选择格式(十六进制、Base64、Base64URL、字母数字、URL 安全、UUID v4 或自定义字符集),设置长度和计数,添加可选前缀(如 sk_),然后复制或下载结果。每个密钥都会显示以位为单位的熵,因此您可以确认它足够强大。
常见问题解答
这个密钥生成器在加密上安全吗?
是的。每个字符都是从浏览器的 crypto.getRandomValues CSPRNG 中提取的,使用拒绝采样以避免模偏差。它从不使用Math.random,这不适合秘密。
我生成的密钥会发送到任何地方吗?
不会。所有生成过程都完全通过 JavaScript 在浏览器中运行。任何服务器上都不会上传、记录或存储任何内容,这使得生成真正的生产 API 密钥和机密变得安全。
我可以生成哪些密钥格式?
十六进制、Base64、Base64URL(URL 安全)、字母数字、URL 安全(字母数字加 -._~)、UUID v4 和完全自定义的字符集。这涵盖 API 密钥、令牌、盐、加密密钥和数据库 ID。
API 密钥或秘密应该多长?
目标是至少 128 位熵。 32 个字符的字母数字密钥约为 190 位,UUID v4 携带 122 个随机位。该工具以位为单位显示每个密钥的熵,以便您可以验证它是否满足您的需求。
我可以一次生成多个密钥吗?
是的。设置“计数”字段,一键创建最多 500 个密钥,然后使用“复制全部”或“下载 .txt”导出它们 - 对于播种许多环境、租户或测试装置非常有用。
前缀选项有什么作用?
它将固定文本(例如 sk_ 或 pk_live_)添加到每个生成的密钥前面,与 Stripe 和 OpenAI 等服务使用的约定相匹配。该前缀是在生成后添加的,并且不计入熵估计中。
Base64 和 Base64URL 有什么区别?
标准 Base64 使用 + 和 / 字符,而 Base64URL 将它们替换为 - 和 _,因此该密钥可以安全地在 URL、文件名和 HTTP 标头中使用,而无需转义。
我可以将其用于 JWT 或会话机密吗?
是的。长十六进制或 Base64 密钥(例如 64 个十六进制字符 = 256 位)可形成强大的 HMAC/JWT 签名密钥或会话密钥。在此处生成它,然后仅将其存储在服务器的环境变量中。