随机 Token 生成器

🔑 Random Token Generator

Produce random API tokens, secrets and keys in your browser with adjustable length and character sets.

📐 工作原理与说明
长度取输入值(非法时取 32),并限制在 4 到 256 之间;数量取输入值(非法时取 1),并限制在 1 到 20 之间。字符集按勾选的大写字母、小写字母、数字、符号四类依次拼接,一类都没选时提示请至少选择一种字符集。每个令牌用加密级随机数填充一个长度不小于指定长度的无符号 32 位数组,逐位取随机数对字符集长度取余,用余数在字符集中取字符拼接。信息熵 ≈ 长度 × log₂(字符集大小),结果四舍五入取整,并展示生成的个数与位数
生成高强度随机令牌。
  • 随机源:必须使用 crypto.getRandomValues 等密码学安全随机源。
  • 熵要求:常见 128 位以上(如 32 个十六进制字符)才能抵御暴力猜测。
  • 用途:会话标识、API 令牌、CSRF 令牌、密码重置链接。
  • 实践:令牌应设置有效期、尽量一次性使用,并在服务端安全存储与校验。
字符集:

🔒 随机数来自 crypto.getRandomValues,仅在本机生成,不上传。

📚 深度解析:随机 Token 生成器

💡 常见使用场景

生成
32 字节十六进制 Token 例:`a1b2c3...`(64 位十六进制)。

❓ 常见问题(FAQ)

Token 要多少熵?
敏感场景至少 128 位随机性。
生成后该怎么存储?
服务端应只存哈希(如 SHA-256),明文仅在创建时返回一次——这样即使数据库泄露也不会直接得到可用令牌。同时应支持吊销、按前缀标识用途、并设定有效期。切勿把令牌写进前端代码、日志 URL 或仓库;日志中展示时应做脱敏(只留前几位)。

Formula & Standard References

Item Formula / Note Source / Standard
Entropy H = L * log2(N); 128 bits or more for security tokens NIST SP 800-63B
Random source must use a cryptographically secure RNG NIST SP 800-90A
Lifetime tokens need an expiry and a revocation path NIST SP 800-63B