Random String Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Characters come from crypto.getRandomValues, never Math.random, and are picked by rejection sampling so no character is more likely than another. Generation happens in this tab — nothing is sent anywhere, and nothing is stored.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand Random String Generator

从你选定的字符集中生成指定长度的密码学随机字符串。

How it works

取值来自 crypto.getRandomValues,即平台的密码学安全生成器,而不是 Math.random——后者的内部状态可以由少数几次观察到的输出恢复出来,进而预测其未来取值。强度就是熵,每个字符贡献 log2(字母表大小) 位:32 个十六进制字符携带 128 位,而 62 个符号的字母数字集中的 32 个字符约携带 190 位。

When to use it

  • 生成 API 密钥、会话密钥或 webhook 签名密钥。
  • 为本地 .env 文件产生 SECRET_KEY 或 JWT_SECRET 的值。
  • 创建一次性的随机数、盐值或邀请码。
  • 为不允许冲突的存储桶、容器或测试资源名称生成随机后缀。
  • 填充需要特定长度和形态的不透明令牌的夹具。

Watch out for

  • 长度必须结合字母表来看。16 个十六进制字符只有 64 位,在意志坚定的攻击者面前触手可及,而 62 个符号集中的 16 个字符约为 95 位。凡是长期使用的值,都请以 128 位以上为目标。
  • 随机不等于唯一。两次独立抽取可能重合,因此当这个值用作主键或文件名时,请改用 UUID 或 ULID,或者检查是否冲突,而不要想当然。
  • 受限字符集的存在是有原因的。将出现在 URL、shell 命令或 .env 文件中的值,应当避开需要加引号或转义的字符——十六进制和字母数字走到哪里都不会出意外。
  • 在浏览器标签页里生成的东西,就是在浏览器标签页里待过。对于生产环境的签名密钥,请优先使用 openssl rand -base64 32 或你所在平台已提供的密钥管理服务,那里的值不会接触页面、剪贴板管理器或浏览器历史。

Not the right tool for: 必须是确切字节数随机值的密钥。AES 密钥或 HMAC 密钥是二进制的,32 个字符的十六进制字符串只有 16 字节的熵而不是 32 字节——请生成原始字节,或用 KDF 派生密钥。

Frequently Asked Questions

如何生成随机字符串?

设置长度、选择要生成多少条,并勾选要从中抽取的字符集——或者粘贴自定义字母表,例如用于十六进制的 0123456789abcdef。点击生成即可一次性复制整批结果。一切都在你的浏览器本地产生。

这个随机字符串生成器安全吗?

字符来自 crypto.getRandomValues,即浏览器的密码学安全随机源,并通过拒绝采样挑选,因此没有哪个字符比其他字符更容易出现。工具从不使用 Math.random——它可被预测,不适合用于令牌、密钥或密码。

随机字符串该有多长?

工具会显示以位为单位的熵。大致而言:64 位对标识符已经够用,而 API 密钥或会话令牌之类的机密内容需要 128 位以上。22 个字母数字字符大约携带 128 位。

How to Use Random String Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.