随机 Token 生成器:安全密钥与密钥生成
随机 token 生成器可为 API 密钥、会话 token、CSRF token、密码重置链接以及其他密钥创建密码学安全的随机字符串。只需选择格式、设定长度,即可生成几乎无法被猜测或预测的 token。
本工具专为开发者、DevOps 工程师以及注重安全的团队打造,随时按需生成不可读的随机值。它通过 Web Crypto API(crypto.getRandomValues())获取随机性,背后由操作系统的熵源支撑 —— 与生产系统所依赖的随机性质量相同,而非 Math.random() 那种可预测的输出。
如何生成随机 Token
选择格式
从六种输出格式中选择一种:Hex、Base64、Base64URL、字母数字、纯数字,或使用你自己的字符集的自定义格式。
设定长度
使用滑块、输入框或预设值(16、32、64、128)。对于 Hex、Base64 和 Base64URL,该值表示随机性的字节数;对于字母数字、纯数字和自定义格式,则表示字符数。
配置选项(可选)
打开高级选项,添加如 sk_live_ 这样的前缀、每 N 个字符插入一个分隔符,或将字母大小写设为小写、大写或混合。
生成并复制
设定数量(1–50)后点击生成。用每个 token 旁的复制按钮复制单个 token,或用复制全部一次性获取整批结果。
功能特点
六种输出格式
可将 token 生成为 Hex、Base64、Base64URL、字母数字、纯数字,或你自定义的字符集。
长度灵活可控
通过滑块、直接输入或一键预设(16、32、64、128)设定长度,最大支持 512。
批量生成
一次最多生成 50 个 token,每个都独立生成,具备完整的密码学随机性。
自定义前缀
添加如 sk_、pk_live_ 或 api_ 的前缀,一眼即可区分 token 类型和环境。
可读性选项
每 N 个字符插入短横线或空格分隔符,并选择小写、大写或混合大小写,让 token 更易读。
熵值显示
查看当前设置下以比特为单位的熵值,便于判断每个 token 的安全强度。
一键复制
瞬间复制任意单个 token 或整批 token,无需手动选择。
纯客户端运行
所有生成都在你的浏览器中使用 crypto.getRandomValues() —— 不会发送到服务器,也不会存储在服务器上。
常见问题
如何生成随机 token?
选择格式、设定长度,然后点击生成。token 会即时出现,并可一键复制。无需安装、无需注册 —— 打开页面即可生成。
API token 应该设置多长?
对于大多数安全应用,推荐使用 32 字节(256 比特) —— 这个量级在计算上无法被暴力破解。对于会话 token 等生命周期较短的值,通常 16 字节(128 比特)就足够了。
这个 token 生成器在密码学上安全吗?
安全。它使用 crypto.getRandomValues(),即所有现代浏览器内置的密码学安全随机数生成器。它从操作系统获取熵,提供与服务端生成器相同质量的随机性 —— 不像 Math.random(),其输出是可被预测的。
token 是在我的浏览器里生成并保持私密的吗?
是的。每个 token 都在你的浏览器本地生成。没有任何 token 会通过网络传输、被保存或被记录到任何地方,也不会采集任何使用数据。
Hex 和 Base64 token 有什么区别?
Hex(0-9、a-f)是 API 密钥和密钥最常见的格式,每个字节对应两个字符。Base64(A-Z、a-z、0-9、+、/)更紧凑,常见于 HTTP 头和 JWT 中。当 token 需要出现在 URL 中时,请使用 Base64URL,它将 + 和 / 替换为 - 和 _,并去掉填充字符。
一个 token 有多少比特的熵?
对于 Hex、Base64 和 Base64URL,每个字节增加 8 比特,因此一个 32 字节的 token 拥有 256 比特的熵。对于字符类格式,熵等于长度乘以字母表大小的以 2 为底的对数 —— 例如,一个 32 字符的字母数字 token(62 个字符)约有 190 比特。本工具会显示当前配置下的精确熵值。
为什么改变字母大小写会影响熵?
把字母数字 token 强制设为全小写或全大写,会使有效字母表从 62 个字符(A-Z、a-z、0-9)缩小到 36 个(a-z 或 A-Z 加 0-9)。可用字符越少,组合就越少,因此熵也会相应下降。
这些 token 可以用于生产环境吗?
可以。这些 token 使用的是生产系统所依赖的相同密码学原语。不过仍要妥善处理:尽可能以哈希形式存储密钥、仅通过 HTTPS 传输,并设置合理的过期策略。
还没有评论,快来发表第一条!