这个计算器有什么用
密码破解时间计算器通过"逐一尝试所有可能组合"的暴力破解思路,估算攻击者破解一个密码大约需要多久。它的计算只取决于密钥空间的大小和攻击者的猜测速度,能让你直观感受到:把密码加长一点、加复杂一点,安全性究竟能提升多少。
使用方法
填写密码长度(字符个数),勾选密码所使用的字符集,再设定攻击者每秒猜测次数。一台现代 GPU 破解机大约每秒能完成 10 亿(1,000,000,000)次快速哈希猜测,可作为合理的默认值。计算结果显示的是"穷举整个密钥空间"的最坏情况耗时,分别以秒、小时、天和年来呈现。
公式解析
可能的密码总数等于字符集大小的"长度次方":\(C = N^{L}\)。用这个总数除以攻击者每秒猜测次数,就得到把所有组合都试一遍所需的时间:
$$t = \frac{N^{L}}{G}$$字符集大小 \(N\) 是累加的:小写字母(26)、大写字母(26)、数字(10)和符号(32),全部混用时 \(N = 94\)。
实例演算
以一个 8 位纯小写字母密码为例(\(N = 26\),\(L = 8\)),面对每秒 10 亿次猜测的攻击者:组合数 \(= 26^{8} = 208{,}827{,}064{,}576\)。破解时间
$$t = \frac{208{,}827{,}064{,}576}{1{,}000{,}000{,}000} \approx 208.83 \text{ 秒}$$——还不到四分钟。如果再加入大写字母、数字和符号(\(N = 94\)),同样 8 位长度的组合数就猛增到 \(94^{8} \approx 6.1 \times 10^{15}\),破解耗时约为 70 天。
常见问题
这个结果准确吗?并不准确。它只是纯暴力破解的理论上限。真实攻击者会使用字典、泄露的密码库以及各种规律,因此一个容易被猜中的密码,实际被攻破的速度远比这个估算值快得多。
该用多大的猜测速度?这取决于哈希算法。快速哈希(如 MD5、未加盐)每秒可猜测数十亿次;慢速哈希(如 bcrypt、Argon2)每秒仅能猜测数千次。\(G\) 越小,破解耗时就越长。
怎样才算强密码?长度比复杂度更重要。每多加一个字符,密钥空间就乘以 \(N\),因此一个长口令(passphrase)远比一个短而复杂的密码更难被破解。