使用方法
- 拖动滑块设置长度,16 位以上是合理的默认值。
- 勾选要包含的字符类型。
- 如果密码需要念出来或手工输入,打开 排除形近字符。
- 任何改动都会立即重新生成——也可以点 重新生成 换一个。
关于密码强度
密码强度只有一个诚实的尺度:熵,也就是攻击者需要穷举的可能性数量。它等于长度乘以 字符池大小的以 2 为底的对数,每多一位,工作量翻一倍。本工具展示的就是这个数字,而不是 一根你无从查验其规则的彩色进度条。
熵揭示的最有用的一件事是:长度完胜复杂度,而且不是勉强胜出。给一个 12 位密码加上
符号,字符池从 62 扩到约 88,大约值 5 位熵;而给同一个密码多加 4 个字符,大约值 24 位——
接近五倍。那些要求必须含符号、却把长度上限定在 16 的策略,把取舍做反了。更糟的是,它们
把人推向 P@ssw0rd! 这类可预测的替换,而攻击者对这些模式已经建模了几十年。
第二件值得记住的事是:网站怎么存你的密码,比密码本身更重要。面对 SHA-256 这类快速 哈希,现代 GPU 集群每秒可以尝试上万亿次;面对刻意放慢的 bcrypt 或 Argon2,同样的硬件 每秒只能试几千次。这是八个数量级的差距,远远盖过「一个好密码」与「一个更好一点的密码」 之间的任何现实差异。你无从知道某个网站用的是哪种,所以应当按更悲观的那个数字来规划。
最后是任何生成器都修不好的那个漏洞:复用。每个网站用不同的密码,才能让一家公司的泄露 只变成一个问题、而不是所有问题。这需要密码管理器——因为 20 个随机字符天然记不住, 而这恰恰是它们值得被生成出来的原因。