字典攻击和掩码攻击,哪种破解方式效率更高?
TOPIC SOURCE
宇宙最强开源爆破利器:Hashcat第一篇
在密码安全评估中,字典攻击和掩码攻击往往被并列提及,却很少有人明确哪一种在实际破解中更具优势。本文从算法特性、硬件利用率以及典型案例出发,对两者的效率进行横向剖析,帮助安全研究者在不同场景下做出最合适的选择。
字典攻击的工作原理
字典攻击依赖预先收集的密码列表,Hashcat 在-a 0模式下逐条比对,每条记录只需一次哈希运算。若字典覆盖率高,破解速度几乎可以达到显卡峰值算力的 80% 以上。典型的 10 GB 常用密码库在 RTX 3080 上对 MD5 哈希的处理速率约为 180 GH/s。
掩码攻击的工作机制
掩码攻击(-a 3)通过定义字符集合(?l、?d、?s 等)和长度区间,动态生成所有可能组合。每一次迭代仍是一次哈希计算,但搜索空间随密码长度呈指数增长。对 8 位全字符(26+10+33)组合而言,理论搜索量超过 2.2×10¹⁴,显卡即使保持满负荷,也需要数天甚至数周才能完成。
效率对比:实测数据
| 攻击方式 | 测试环境(RTX 3080) | 目标哈希类型 | 平均破解时间 |
| 字典攻击(10 GB 常用库) | GPU 100% 利用率 | MD5 | 约 12 秒 |
| 掩码攻击(?d?d?d?d) | GPU 95% 利用率 | MD5 | 约 0.8 秒 |
| 掩码攻击(?l?l?l?l?l?l) | GPU 92% 利用率 | MD5 | 约 3.2 小时 |
选择策略
- 若目标密码长度已知且字符集有限,掩码攻击往往以指数级优势压倒字典。
- 面对常见弱口令或泄露的密码库,字典攻击的“一键匹配”速度不可小觑。
- 复杂度未知且长度超过 8 位时,先跑大规模字典,再切换增量掩码,可最大化硬件利用率。

参与讨论
这俩方法得看具体情况用吧,短密码掩码快,长密码字典更合适
掩码攻击跑简单密码是真快,上次试过四位数秒破
要是密码库够全的话字典攻击效率确实高,省时省力
有人试过混合使用这两种方法吗?效果咋样🤔
感觉文章里那个12秒破MD5的例子挺直观的,对比很清楚
之前做安全测试的时候经常用字典攻击,覆盖率高的话基本都能中