开发者 / 安全
API密钥生成器(随机、带前缀、安全)
在浏览器中生成密码学安全的随机API密钥或秘密令牌:选择长度、字母和数字、十六进制或base64url字符,并可添加sk_live_等前缀,查看其比特强度。
API密钥生成器(随机、带前缀、安全): 每个字符都由浏览器的密码学安全随机生成器选出,并使用拒绝采样,确保任何字符被选中的概率都不会更高。强度为长度×log₂(字符数量):32个字母和数字可提供190比特,32个十六进制字符可提供128比特。超过128比特的内容无法被猜出。 完全在浏览器中本地运行,文件不会上传到服务器。
- 类别
- 开发者工具
- 使用次数
- 在浏览器中
- 费用
- 免费·无需注册
- 可用性
- 可直接使用
完全在浏览器中运行
每个密钥含190位随机性
密钥由浏览器的加密随机数生成器生成,每个字符出现的概率相同,且绝不会发送到任何地方。强度等于长度乘以字符数的log₂:32个字母和数字可提供190位强度。使用sk_live_这样的前缀,便于在代码中识别密钥,也能让机密扫描工具找到泄露的密钥。在服务器上只存储每个密钥的哈希值,就像处理密码一样。
密钥和UUID
随机UUID包含122位随机数据,足以用作标识符,但其固定格式让它看起来像ID,而不是机密信息。此工具生成的密钥长度不限;如需生成标识符,请使用UUID生成器。
存储密钥
由于API密钥很长且具有随机性,使用SHA-256这类快速hash即可安全存储;bcrypt这类慢速hash适用于人类密码。使用hash生成器计算密钥的hash,即可查看服务器保存的内容。
使用方法
- 选择长度和字符集。
- 如需生成易于识别的密钥,请添加前缀。
- 生成一个或多个密钥,然后复制它们。
隐私与限制
密钥在你的浏览器中生成,不会发送或保存。
相关工具
常见问题
API密钥应有多长?
至少需要128比特的随机性:22个字母和数字、32个十六进制字符,或22个base64url字符。
为什么要添加前缀?
sk_live_这样的前缀可以让你一眼看出密钥的用途,也能让秘密扫描工具发现意外提交到代码中的密钥。
服务器应如何存储密钥?
像存储密码一样:保存哈希值,例如SHA-256,并比较哈希值;完整密钥只向其所有者显示一次。
免费工具·使用在浏览器中次·无需账户