什么是密码熵值?
密码熵值用来衡量一个密码有多难以被猜中,单位是比特。每增加一个比特,攻击者需要尝试的次数就翻一倍。一个熵值为 40 比特的密码,暴力破解最多需要 \(2^{40}\)(约一万亿)次尝试;而 80 比特的密码则要强得不可同日而语。在客观比较密码强度时,熵值是最有参考价值的一个数字。
如何使用本计算器
输入你的密码长度,并勾选密码中用到的每一类字符。工具会把各字符集的规模相加——小写字母(26)、大写字母(26)、数字(10)、符号(32)——得出字符集总规模 \(N\),再据此计算熵值。增加长度和增加字符种类都能提升熵值,但通常增加长度带来的提升最为显著。
公式详解
标准公式为 $$E = L \times \log_{2}(N)$$ 其中 \(L\) 是字符个数,\(N\) 是字符池的规模。由于每一位都可以独立地是 \(N\) 个字符中的任意一个,所有可能的密码总数为 \(N^{L}\),对其取以 2 为底的对数即可得到比特熵值。这一计算的前提是密码真正随机;如果使用词典单词或可预测的规律,其有效熵值会远低于公式给出的结果。
计算实例
以一个使用小写字母、大写字母和数字的 12 位密码为例。字符池大小为 \(26 + 26 + 10 = 62\)。 $$E = 12 \times \log_{2}(62) = 12 \times 5.954 \approx 71.45 \text{ 比特}$$ 这相当于约 \(2^{71.45} \approx 3.2 \times 10^{21}\) 种组合——极难被暴力破解。
常见问题
多少比特才算「强」?对大多数账户来说,60 比特以上已经不错;对于价值较高的账户或主密码,建议达到 80 比特以上。
这个计算考虑了词典攻击吗?没有。公式假定字符完全随机。真实的单词、人名以及简单的字符替换都会大幅降低实际熵值——请使用随机密码生成器或密码短语。
为什么按每秒 100 亿次猜测来估算?对于资金充裕、针对快速哈希密码发起的离线攻击而言,这是一个合理的估计;如果采用更慢的哈希算法,攻击者的速度会进一步被拖慢。