2026 年如何设置强密码?长度比复杂度更重要
讲清楚密码强度到底由什么决定、熵值怎么计算,以及如何在浏览器里几秒钟生成安全的随机密码。
"至少包含一个大写字母、一个数字和一个符号"——大多数网站至今还在用这条规则。但 P@ssw0rd1 完全符合规则,却是破解工具最先尝试的密码之一。真正重要的是下面这些。
强度 = 不可预测性
密码强度用**熵(bit)**衡量,大致相当于攻击者需要猜多少次。对于真正随机的密码:
熵 = 长度 × log2(字符集大小)
| 长度 | 字符集 | 熵 |
|---|---|---|
| 8 | 小写字母 + 数字(36) | 约 41 bit |
| 12 | 全部可打印字符(约 90) | 约 78 bit |
| 16 | 全部可打印字符(约 90) | 约 104 bit |
| 20 | 仅小写字母(26) | 约 94 bit |
两个结论:每多一位,破解难度成倍增加;一个很长的纯小写密码可能比短而"复杂"的密码更强。重要账户建议 80 bit 以上。
前提:必须是随机的
上面的公式只在"每个字符都由计算机随机挑选"时成立。人自己想的密码总带规律:姓名、生日、键盘连按、a → @ 这类替换,攻击者早就把这些都建模了。
几秒生成一个
密码生成器 使用浏览器的密码学安全随机源(crypto.getRandomValues),而不是 Math.random:
- 设置长度(16 位以上是不错的默认值)。
- 选择字符集:大写、小写、数字、符号。
- 如果需要手动输入,打开排除易混淆字符(去掉
0/O、1/l/I)。 - 复制后直接存入密码管理器。
全部在本地生成,密码不会发送到任何地方。
自查清单
- 每个网站用不同的密码,一处泄露不会波及其他账户。
- 用密码管理器保存,不必硬记。
- 能开两步验证的地方都开上。