密码生成器 在浏览器本地生成强随机密码,不上传任何字节。可调长度、字符集(大小写、数字、符号)、排除易混淆字符(0/O、1/l/I)。
密码强度的本质:可能组合数。一个 N 位密码、字符集大小 C,理论组合数 = C^N。长度对组合数是指数级影响,字符集只是底数倍——这就是 12 位字母数字 > 8 位含符号的根本原因。
长度参考:
| 用途 | 推荐长度 | 理由 |
|---|---|---|
| 一次性临时 | 12-16 位 | 短期能扛字典攻击 |
| 一般账号 | 16 位以上 | 主流邮箱/SaaS |
| 关键账号(银行/主邮箱/密码管理器主密码) | 20+ 位 / passphrase | 攻防的核心目标 |
| 加密文件密码 | 25+ 位或 passphrase | 扛得住 GPU 离线穷举 |
最佳实践(2024 后 NIST 主张):
当前主流标准是至少 12 位,关键账号(银行、主邮箱)16 位以上。NIST 2017 年起取消了"必须含大小写数字符号"的死规则,改为推荐"够长 + 不在已泄露列表"。算笔账:8 位包含大小写数字(62^8 ≈ 218 万亿)现代 GPU 几小时穷举;12 位(62^12 ≈ 3.2×10^21)按 1000 亿次/秒要算 1000+ 年。每多 4 位指数级提升。
有但不如加长度。从 12 位字母数字到 12 位含符号,破解难度提升约 5-10 倍;从 12 位到 16 位字母数字,提升约 1500 万倍。所以"`P@ssw0rd!`"(11 位含符号)远不如"`correctHorseBatteryStaple`"(25 位纯字母)安全——后者是 xkcd 那张漫画的著名观点,被 NIST 采纳。
三类绝对禁忌——字典词(password、123456、qwerty 等)、个人信息(生日、姓名拼音、手机号、宠物名)、键盘连击(asdf、1qaz)。这些早就在彩虹表里,秒破。常见弱模式:`Aa123456`(满足"含大小写数字"但秒破)、`Password2024!`(含符号但太常见)。能在"已泄露密码列表"里找到的就是弱密码(haveibeenpwned.com 可查)。
优先密码管理器。1Password、Bitwarden、KeePass 等可为每个网站生成独立 20+ 位随机密码,本地+云加密。自己记的密码必然简单(人脑容量有限),且会跨站重用——一处泄露其他站全沦陷。主密码 仍要自己记,建议用 4-6 个不相关单词组成的"密语"(passphrase),如"`蓝色海豚跑步雨伞`"。
NIST 2017 年起不再建议定期换密码——研究表明强制定期换会让用户改成更弱的(如 `Password1` → `Password2`)。改换条件触发:网站发生数据泄露、怀疑被窃(多设备登录提醒、可疑登录地点)、离职/共享对象变化 时换。日常用密码管理器 + 强密码 + 双因素认证(2FA),换不换不重要。
双因素认证(2FA)是密码失窃后的最后防线。常见三种——短信验证码(最弱,可被 SIM 劫持)、TOTP(Google Authenticator/Authy)(中等,最通用)、硬件密钥(YubiKey/passkey)(最强,物理安全)。开 2FA 后即便密码泄露,攻击者没第二因子也进不来。建议主邮箱、银行、密码管理器主账号必开 2FA。