令牌生成器

生成加密安全的随机令牌,支持hex和base64格式

加密安全令牌生成器 — 使用 Web Crypto API 创建安全随机令牌,用于 API 密钥、会话 ID、CSRF 防护和身份验证

  1. 为令牌选择加密位长度:128 位(16 字节,32 个十六进制字符)——适用于会话 ID、数据库记录标识符和 CSRF 令牌,威胁模型假设有限的暴力破解尝试;256 位(32 字节,64 个十六进制字符)——API 密钥、身份验证令牌和密钥的推荐默认值,提供 2^256 种可能值(超出可观测宇宙中估计的原子总数);512 位(64 字节,128 个十六进制字符)——用于 HMAC 签名密钥和高安全性应用,额外的熵成本可忽略不计。每次位长度加倍会平方搜索空间——256 位密钥不仅比 128 位强两倍,而是强 2^128 倍。
  2. 选择输出格式:十六进制(Hex)生成使用 0–9 和 a–f 字符的字符串——最便携的格式,在所有上下文中安全(URL、JSON、数据库、配置文件),易于视觉验证长度(每字节 = 2 个十六进制字符)。Base64 URL安全生成使用 A–Z、a–z、0–9、- 和 _ 的更紧凑字符串——相同位长度比十六进制短约 25%,无需百分号编码即可在 URL 中安全使用。该变体使用 RFC 4648 §5 的 URL 安全字母表,将 + 替换为 -,/ 替换为 _,并省略填充 = 字符。
  3. 点击生成使用浏览器的 crypto.getRandomValues() Web API 创建加密安全随机令牌——与 SSL/TLS 生成会话密钥使用的相同熵源。每次点击产生独立的新随机值,与先前任何令牌无关联。点击复制将令牌传输到剪贴板。生成令牌的用途:API 密钥发放、JWT 密钥(推荐 256+ 位)、密码重置令牌(限时单次使用)、OAuth state 参数(防止 OAuth 流程中的 CSRF)、会话标识符、HMAC 签名密钥以及任何需要不可预测不可猜测值的应用。所有生成完全在浏览器中发生——令牌在本地生成,绝不会传输到任何服务器。

请启用 JavaScript 以使用这些工具。