如何生成强密码
- 在 4 到 64 个字符之间拖动长度滑块,拖动时会不断生成新密码。
- 选择字符类型:A–Z、a–z、0–9 和符号。每种勾选的类型都保证至少出现一次,可以满足“至少包含一个大写字母、一个数字和一个符号”这类要求。如果全部取消勾选,小写字母会被自动重新勾选。
- 如果将来可能要把密码念给别人听,或照着纸条输入,请勾选避免易混淆字符。
- 点击复制,把密码粘贴到注册表单和密码管理器中。↻ 会再生成一个;生成 10 个密码会生成一个带全部复制按钮的列表。
密码下方的彩色条和标签,是根据长度和字符池大小估算出的强度。
各选项包含哪些字符
| 类型 | 字符 | 数量 |
|---|---|---|
| A–Z | ABCDEFGHIJKLMNOPQRSTUVWXYZ | 26 |
| a–z | abcdefghijklmnopqrstuvwxyz | 26 |
| 0–9 | 0123456789 | 10 |
| 符号 | !@#$%^&*()-_=+[]{};:,.?/~ | 25 |
四种类型全选时,字符池共有 87 个字符。“避免易混淆字符”会去掉 I、l、1、O、0、o,剩下 81 个。引号、反斜杠、空格和反引号都不使用;这些字符最容易被表单拒绝,或在命令行和配置文件中需要转义。
密码是怎样生成的
每个字符都由浏览器的密码学安全随机数生成器 crypto.getRandomValues 选出,而不是可预测的 Math.random。可能让某些字符出现得更频繁的随机值会被丢弃并重新抽取,因此字符池中每个字符的概率完全相同。程序先从每种选中的类型里各放入一个字符,再从整个字符池中抽取其余字符,最后打乱顺序,所以必含的字符不会出现在可预测的位置上。
密码在你自己的设备上生成。本页不会发送或保存密码,而且一更改设置就会被新密码替换——所以在做别的事之前,请先把它复制到密码管理器里。
“熵的比特数”是什么意思
熵表示暴力破解需要多少次猜测。从 N 种可能中均匀选出的密码有 log₂ N 比特,每多 1 比特,攻击者的工作量就翻一倍。对于随机字符,熵等于长度 × log₂(字符池大小)。本工具把这个值四舍五入后给出评级:低于 40 比特为弱,40~59 为中等,60~79 为强,80 及以上为非常强。由于强制每种选中的类型都要出现,实际值会比显示的略低一点,但在常见长度下差别可以忽略。
| 长度 | 仅 a–z(26) | 字母 + 数字(62) | 全部类型(87) |
|---|---|---|---|
| 8 | 38 比特 | 48 比特 | 52 比特 |
| 12 | 56 比特 | 71 比特 | 77 比特 |
| 16 | 75 比特 | 95 比特 | 103 比特 |
| 20 | 94 比特 | 119 比特 | 129 比特 |
把这些数字具体化:假设窃取了数据库的攻击者每秒能尝试一百亿次。那么穷举所有 40 比特的密码不到两分钟,60 比特约需 3.7 年,80 比特则接近四百万年。还要注意,长度比字符种类更重要:16 个小写字母(75 比特)比使用全部四种类型的 8 个字符(52 比特)更强。
这些数字只适用于随机生成的密码。像 Summer2026! 这样人想出来的密码,实际熵远低于其长度所暗示的水平,因为攻击者会优先尝试单词、名字、日期和常见的字符替换。
实际场景中的设置
- 保存在密码管理器中的账号:全部类型,20 个字符以上。反正不用手动输入,再长也没有代价。
- 需要手动输入的密码(如 Wi-Fi 密码、电脑登录密码):16 个字符以上,避免易混淆字符,符号可有可无——不如多加长度。
- 规则奇怪的网站:如果表单拒绝某些符号,就取消勾选“符号”,再多加四五个字符来保持强度。
- 数字 PIN 是另一回事:6 位 PIN 不到 20 比特,靠的是输错几次就锁定的机制,而不是熵。需要 PIN 时可以用随机数生成器来选。
比生成器更重要的密码习惯
- 每个账号使用不同的密码。撞库攻击会拿从某个网站泄露的密码去尝试许多其他网站。
- 把密码保存在密码管理器中,而不是文档或电子表格里。
- 为电子邮箱、银行以及其他能重置别的账号的服务开启双重验证,最好使用验证器应用或安全密钥。
- 有理由时再改密码——比如发生泄露、在公用设备上用过——而不是按固定周期更换。现行的 NIST 指南(SP 800-63B)也更看重长度,而不是强制性的复杂度规则。
常见问题
密码短语比随机密码更好吗?
在强度相同的情况下,它可能更容易记住。从 7,776 个单词的词表中随机选出的六个单词约有 77.5 比特,相当于使用全部类型的 12 位密码。不过单词必须随机抽取,不能自己挑。
密码应该多长?
重要账号的目标至少是 80 比特:使用全部类型时需要 13 个字符以上,只用小写字母时需要 18 个字符以上。
为什么网站还是说我的密码弱?
有些网站并不衡量随机性,只检查“必须包含符号”之类的简单规则。请确认已勾选该网站要求的所有字符类型。