破解一个密码要多久,取决于三件事:可能的密码有多少种(长度和字符种类)、攻击者每秒能测试多少猜测,以及密码是否真的随机。一个随机的 8 位纯小写字母密码,如果用慢速哈希存储,在租用的显卡上可能只需几周就会被攻破;而一个包含混合字符的随机 16 位密码,则需要比宇宙年龄还长的时间。免费密码生成器会在你的设备上生成这种随机而足够长的密码。
网上流传的那些彩色破解时间表很有用,但它们基于一些假设。了解这些假设,才能真正知道什么东西能保护你的账号。
“破解”究竟是什么意思
当你在某个网站注册时,一个管理良好的网站并不会存储你的密码,而是存储一个 哈希值:它是密码的一个加密指纹。你登录时,网站会对你输入的内容做哈希,然后比较指纹。免费哈希生成器可以演示这个概念:输入 password123,它的 MD5 哈希值是 482c811da5d5b4bc6d497ffa98491e38,在任何电脑上每次都一样。
如果一个网站的数据库被窃取,攻击者得到的是哈希值,而不是密码。破解就是猜测密码,对每个猜测进行哈希,然后检查是否匹配,而且是离线进行的,速度取决于他们的硬件。没有任何网站的锁定机制能减缓他们。
这就是为什么有两件事决定了破解时间:
- 攻击者可能需要尝试的可能性数量。
- 猜测速度,它在很大程度上取决于网站使用的哈希方法。
暴力破解的数学
可能的密码数量,等于字符集大小的密码长度次方。
| 字符集 | 字符数 |
|---|---|
| 仅数字 | 10 |
| 小写字母 | 26 |
| 小写 + 大写 + 数字 | 62 |
| 我们生成器中的全部四类 | 85 |
一个 8 位纯小写字母的密码有 26^8 种可能,约 2090 亿种。使用全部 85 个字符,8 位字符则约为 2.7 × 10^15 种。每多一个字符,总数就乘以字符集的大小,这就是为什么长度比其他一切都更重要。
最新的破解速度表
据 Hive Systems 2026 年的密码表,一组 16 块 RTX 5090 显卡攻击用 bcrypt 存储的密码(这是一种刻意设计得很慢的哈希,工作因子为 10),每秒约能猜测 138,675 次。按这个速度,他们估计一个 8 位纯小写字母的密码大约需要两周破解,而一个使用所有字符类型的 8 位密码大约需要 132 年。他们的时间是最坏情况,即正确密码恰好是最后一次猜测。
使用同样的猜测速度和生成器的 85 字符集,以下是我们计算出的随机密码最坏情况时间:
| 长度 | 仅小写字母(26) | 四类字符全用(85) |
|---|---|---|
| 6 | 约 37 分钟 | 约 32 天 |
| 8 | 约 17 天 | 约 620 年 |
| 10 | 约 32 年 | 约 450 万年 |
| 12 | 约 22,000 年 | 约 320 亿年 |
| 16 | 约 100 亿年 | 约 1.7 × 10^18 年 |
我们的 8 位数字与 Hive 的不一致,因为各表的字符集大小、哈希设置以及猜测次数的计算方式都不同;但要点是一样的。平均来说,正确的猜测会在大约一半的时候出现,所以对于典型情况,把这些数字减半即可。
为什么这张表可能过于乐观
这张表在两个方面对你做了最有利的假设。
网站可能使用快速哈希。 bcrypt 本来就设计得很慢。一些老旧或不谨慎的系统使用 MD5 或纯 SHA-1 这样的快速哈希,一块显卡每秒就能测试数十亿次。面对这些哈希,上面的时间会缩短百万倍甚至更多。你无法知道网站如何存储你的密码,所以要按最坏的情况来假设。MD5 与 SHA-256 指南解释了两者的区别。
你的密码可能不是随机的。 暴力破解是最慢的攻击方式。真正的破解通常从泄露的密码列表、字典单词、姓名、日期以及常见模式开始,比如 Password123!(首字母大写,末尾是数字和符号)。这种方式构造的密码,无论它包含多少种字符类型,几秒钟内就会被找到,因为攻击者会优先尝试这些模式。
它可能已经泄露了。 如果你重复使用某个密码,而你用过它的任何网站遭到了入侵,攻击者根本不需要破解什么。他们只需把同样的邮箱和密码在其他网站上试一遍。
什么能真正保护你
- 长度和随机性。 一个 16 位或更长的随机密码,对于任何现实中的攻击者来说,都超出了暴力破解的范围。根据 NIST 的 SP 800-63B(第 4 版,2025 年),只依赖密码的服务应当要求至少 15 个字符,并且不应强制使用复杂度规则或定期更换。
- 每个网站使用独立的密码。 这能彻底防止重复使用导致的攻击。
- 密码管理器。 它会记住几十个又长又随机的密码,这样你就不必记住。那么长度也就不再是负担。
- 双重验证。 即使密码被破解,攻击者仍然需要你的手机或安全密钥。请先为邮箱、银行和社交账号开启它。
如果你需要一个能记住并输入的密码,例如密码管理器的主密码,由随机单词组成的长口令是很好的选择。见口令与密码的区别。
生成一个不会被破解的密码
打开免费密码生成器,把 长度 设为 16 或更长(默认从 20 开始),保持 小写字母、大写字母、数字 和 符号 都勾选,点击 生成,然后点击 复制。密码在你的设备上生成,从不会被发送到任何地方。关于这些设置的更多信息,请看如何创建强密码。
常见问题
- 破解一个 8 位密码要多久?
- 取决于字符种类和存储方式。根据 Hive Systems 2026 年的表格,对于 bcrypt,纯随机小写字母大约两周,使用所有字符类型大约 132 年。面对 MD5 这样的快速哈希,两者都会快得多。
- 12 位密码够强吗?
- 使用所有字符类型的随机 12 位密码,暴力破解无法做到。对于重要的账号,16 位或更长仍是更好的默认选择,因为用密码管理器时它不会增加任何负担。
- 符号能让密码更强吗?
- 每个字符会有一点帮助,但增加长度的作用更大。一个不含符号的随机 16 位密码,比一个含符号的随机 10 位密码更强。
- 黑客最终能破解任何密码吗?
- 理论上可以;实际上,一个随机的 16 位密码需要的时间远超任何攻击者能等待的时间。弱密码、常见密码或重复使用的密码才会很快被攻破。
- 在网站上检查密码强度安全吗?
- 不要把真实的密码输入在线强度检测工具。请改为生成一个新的随机密码;我们的生成器会在你的设备上生成它。
生成器
试试密码生成器
免费,无需注册,直接在浏览器中使用。 一键生成强随机密码:选择 8 到 128 个字符的长度,以及要使用的小写字母、大写字母、数字和符号,然后复制即可。