令牌生成器 - Free Online Tool | PivaBox

生成加密安全的随机令牌,支持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 签名密钥以及任何需要不可预测不可猜测值的应用。所有生成完全在浏览器中发生——令牌在本地生成,绝不会传输到任何服务器。

Frequently Asked Questions

什么使令牌'加密安全'?crypto.getRandomValues() 与 Math.random() 有何区别?

加密安全与普通随机数生成之间的区别对安全性至关重要。<strong>Math.random()</strong> 使用为游戏和模拟中的统计均匀性设计的伪随机数生成器(PRNG)——它不适用于安全目的,因为其内部状态可通过观察输出值预测,种子来自当前时间(使其可被暴力破解)。<strong>crypto.getRandomValues()</strong> 从操作系统的硬件熵池中提取熵——结合鼠标移动、键盘时序、磁盘 I/O 抖动、CPU 周期计数器和专用硬件随机数生成器(Intel 的 RDRAND、ARM 的 TrustZone)等来源。这提供适用于加密密钥生成的真实不可预测的随机性。NIST SP 800-90A 规定了加密安全随机比特生成的标准。PivaBox 令牌生成器独家使用 <code>crypto.getRandomValues()</code>,绝不回退到 <code>Math.random()</code>——您的令牌具有与保护 HTTPS 连接的密钥相同的熵质量。

令牌应该多长?不同使用场景适合什么位长度?

令牌长度应基于威胁模型和令牌的生命周期选择。<strong>128 位令牌</strong>提供 2^128 种可能值——适用于会话 Cookie 和 CSRF 令牌,攻击需要在线暴力破解(服务器对尝试进行速率限制),令牌相对快速过期(数小时到数天)。<strong>256 位令牌</strong>是安全社区当前的黄金标准——2^256 是天文数字级别(约 1.16 × 10^77),即使使用地球上所有计算能力,离线暴力破解攻击也不可行。用于 API 密钥、密码重置令牌和可能长期存储的身份验证令牌。<strong>512 位令牌</strong>提供针对理论上的量子计算攻击的安全余量(Grover 算法可在 √N 步内搜索 N 元素空间,有效地将安全比特减半),推荐用于长期签名密钥和主密钥。NIST 建议(SP 800-131A)要求至少 112 位安全强度,对应 224 位 ECC 密钥或 2048 位 RSA 密钥。

本工具生成的令牌是否适用于生产环境中的身份验证系统?

是的,令牌使用与浏览器中 HTTPS/TLS 底层相同的 Web Crypto API 生成,使其适用于生产身份验证系统。然而,安全的令牌生成只是安全身份验证系统的一部分。在生产中使用生成令牌的最佳实践:(1) 在数据库中仅存储令牌的<strong>哈希值</strong>(SHA-256),永不存储原始令牌——这样数据库泄露不会暴露有效令牌(类似密码应存储为 bcrypt 哈希的方式)。(2) 仅通过 <strong>HTTPS</strong> 传输令牌——绝不在明文 HTTP 连接或 URL 查询字符串中传输(会被服务器和代理记录)。(3) 包含<strong>过期时间</strong>——令牌应是短期有效的(会话令牌几分钟到几小时,API 密钥几天),并具有刷新机制。(4) 对令牌认证端点进行<strong>速率限制</strong>以防止暴力破解攻击。(5) 在 Authorization 头中使用 <strong>Bearer</strong> 方案(<code>Authorization: Bearer &lt;token&gt;</code>)而非自定义头。PivaBox 令牌生成器完全在客户端运行——令牌在您的浏览器中生成,绝不会传输到任何服务器。