Password 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.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand Password Generator

使用浏览器的密码学随机数生成器,从你启用的字符集中生成指定长度的随机密码。

How it works

每个字符都取自 crypto.getRandomValues,即平台的 CSPRNG,而不是 Math.random——后者的内部状态可以由一小段输出恢复出来,从而预测其未来取值。强度就是熵,而熵是每个字符 log2(字母表大小) 位:16 个字符取自 62 个大小写字母与数字约为 95 位,再加上符号集,同样长度约为 103 位。长度比多样性更划算——20 个字母数字字符(约 119 位)胜过 16 个带符号的字符。

When to use it

  • 创建一个没人需要凭记忆输入的数据库、服务账号或管理员凭据。
  • 在发生泄露或人员离职之后轮换密码或 API 密钥。
  • 生成一个你会直接粘进密码管理器或密钥仓库的值。
  • 面对拒绝符号的校验规则时,关掉符号,而不是和表单较劲。
  • 当凭据需要有人从屏幕上读出或口头传达时,使用无歧义字符模式。

Watch out for

  • 不会强制满足字符类型规则。每个位置都是独立抽取的,因此即便启用了数字,密码也完全可能一个数字都没有——带「必须包含数字」规则的站点会拒绝它。请重新生成一个,而不是手工修改。
  • 强度标签只是基于长度和已启用字符集的粗略启发式判断。它不是熵的测量值,也无法评价不是在这里生成的密码。
  • 排除易混淆字符(0、O、o、I、l、1)会从字符池中移除六个符号。这大约只损失每个字符 2% 的熵,当需要人工誊写时是一笔划算的交易——但不要在长度本就很短的情况下再付这笔代价。
  • 密码的安全性取决于它接下来去了哪里。剪贴板管理器、聊天窗口和 shell 历史都会留下副本。请把它直接送进密码管理器,不要暂存在草稿文件里。

Not the right tool for: 需要你背下来的密码。对于主密码或磁盘口令,四到五个随机单词要好记得多,并且靠长度达到相当的强度。

Frequently Asked Questions

什么样的密码算强密码?

强密码至少 16 个字符,随机生成,并混合大写字母、小写字母、数字和符号。它不应是字典词、人名或日期。本生成器使用 crypto.getRandomValues() 生成满足全部这些条件的密码。

是什么让密码变强?

强度来自熵——也就是猜中它有多难。长度最关键:每多一个字符都会成倍扩大搜索空间。随机生成胜过人为挑选的套路(球队、生日、键盘走位)。一个 16 位、字符类型混合的随机密码实际上无法被猜出。

怎样创建一个我记得住的强密码?

改用口令短语:用分隔符连接 4–5 个随机单词(correct-horse-battery-staple)。5 个单词的口令短语约有 65 位熵,比随机字符串好记得多。或者使用密码管理器——让它替你记住随机密码。

How to Use Password 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.