密码强度的本质是信息熵(Entropy),即攻击者破解密码所需要尝试的可能组合数量。信息熵越高,密码越安全。影响密码熵的两个关键因素是:字符集大小(可选字符的种类数量)和密码长度(字符个数)。值得注意的是,密码长度对熵的贡献是指数级的,而字符集大小的贡献是线性的,因此长度比复杂度更重要。
举例来说:一个16位纯小写字母密码的熵为 16 × log2(26) ≈ 75.2 bits,而一个8位包含大小写字母、数字和符号的密码熵为 8 × log2(95) ≈ 52.6 bits。前者反而更难破解!这就是为什么现代安全标准越来越强调"长度优先"的原因。
以下表格基于攻击者使用高端GPU集群(每秒尝试1000亿次哈希计算)的假设,展示不同密码长度和字符集组合的预估破解时间:
| 密码长度 | 纯数字(10) | 小写字母(26) | 大小写+数字(62) | 全字符集(95) |
|---|---|---|---|---|
| 6位 | 瞬间 | 瞬间 | 瞬间 | 瞬间 |
| 8位 | 瞬间 | 2秒 | 2分钟 | 19分钟 |
| 10位 | 瞬间 | 24分钟 | 5天 | 179天 |
| 12位 | 10秒 | 18天 | 53年 | 4.4万年 |
| 14位 | 17分钟 | 35年 | 20万年 | 109亿年 |
| 16位 | 11天 | 2.4万年 | 7.7亿年 | 2.8×10^15年 |
| 20位 | 3.2年 | 42亿年 | 不可计算 | 不可计算 |
美国国家标准与技术研究院(NIST)发布的数字身份指南是全球最权威的密码安全标准之一。以下是最新版本的核心建议:
根据多次大规模数据泄露事件的统计,以下密码反复出现在泄露数据库中。如果你的任何账户使用了这些密码,请立即更改:
| 排名 | 密码 | 出现次数(约) | 排名 | 密码 | 出现次数(约) |
|---|---|---|---|---|---|
| 1 | 123456 | 2380万 | 6 | 000000 | 330万 |
| 2 | 123456789 | 770万 | 7 | 1234567 | 290万 |
| 3 | password | 560万 | 8 | password1 | 270万 |
| 4 | 12345678 | 540万 | 9 | iloveyou | 250万 |
| 5 | qwerty | 380万 | 10 | sunshine | 210万 |
手动记忆大量独立强密码几乎不可能,密码管理器是解决这一难题的最佳方案。你只需要记住一个足够强的"主密码",其余密码全部由管理器自动生成和填充。
| 密码管理器 | 类型 | 免费版功能 | 特色 |
|---|---|---|---|
| Bitwarden | 开源 / 云端 | 无限密码、多设备同步 | 开源透明、可自托管 |
| 1Password | 商业 / 云端 | 14天试用 | 旅行模式、家庭共享 |
| KeePassXC | 开源 / 本地 | 完全免费 | 离线存储、完全掌控 |
| Apple Keychain | 系统内置 | 完全免费 | Apple生态无缝集成 |
密码短语是由多个随机单词组合而成的密码,如"correct-horse-battery-staple"。这种方法由安全专家推荐,因为它同时具备高强度和易记忆的优点。
即使拥有强密码,单一的密码保护仍然存在风险(如钓鱼攻击、键盘记录器)。多因素认证通过要求额外的验证因素来提供深层防护: