通过MCP连接 →

输入计算

数学公式

Show calculation steps (1)
  1. Password Entropy (bits)

    Password Entropy (bits): 密码破解时间计算器

    H = bits of entropy; C = charset size; L = password length.

广告

结果

平均破解时间
104.41
秒(密钥空间的一半)
字符集大小 26
可能的组合数 208,827,064,576
熵(比特) 37.6

什么是密码破解时间计算器?

这个工具用于估算攻击者通过暴力破解(即逐一尝试所有可能组合)攻破你密码所需的时间。计算依据有三项:密码的长度、所使用字符集的大小,以及攻击者每秒能够尝试多少次猜测。需要注意的是,这只是一个基于理论模型的粗略估算——现实中的攻击往往会借助字典和常见规律,破解弱密码的速度要快得多。

使用方法

输入密码长度,勾选密码中实际用到的所有字符类型(小写字母、大写字母、数字、符号),再设置攻击者的猜测速率。一台现代 GPU 破解设备针对快速哈希每秒可达 100 亿(10,000,000,000)次猜测;而像 bcrypt 这样的慢哈希算法,可能会把攻击者限制在每秒几千次。

计算公式详解

组合总数等于字符集大小 C 的密码长度 L 次方,即 \(C^{L}\)。用它除以猜测速率 g,便得到最坏情况下的破解时间。由于平均而言,正确密码会在搜索完整个空间的一半时被找到,因此再除以 2:

$$t = \frac{C^{L}}{2g}$$

以比特表示的熵为 $$H = L \times \log_{2} C$$——每增加 1 比特,破解所需的工作量就翻一倍。

展示可能密码数量如何随长度 L 和字符集大小 C 呈指数增长的示意图
可能的组合数 \(C^{L}\) 随密码长度呈指数增长。

实例演算

一个 8 位的纯小写字母密码,字符集为 26 个字母,因此共有 $$26^{8} = 208{,}827{,}064{,}576$$ 种组合。面对每秒 10 亿次猜测的攻击者,平均破解时间为 $$\frac{208{,}827{,}064{,}576}{2 \times 1{,}000{,}000{,}000} \approx 104.4 \text{ 秒}$$ 一旦加入大写字母、数字和符号,字符集会扩大到 94,破解时间也会随之大幅延长。

将字符集 C、长度 L 和每秒猜测次数 g 与预估破解时间 t 关联的扁平信息图
破解时间取决于字符集、长度和攻击者的猜测速度。

字符集大小

公式中的基数 \(C\) 是攻击者必须考虑的每个位置的不同字符数。它是密码可以使用的每个字符类大小的总和。常见组合:

字符集 符号 大小
小写字母 (a–z) [a-z] 26
大写字母 (A–Z) [A-Z] 26
数字 (0–9) [0-9] 10
常见ASCII符号 [sym] 32
小写字母 + 数字 [a-z0-9] 36
小写字母 + 大写字母 [a-zA-Z] 52
字母 + 数字(字母数字) [a-zA-Z0-9] 62
四个类别全部 [a-zA-Z0-9 sym] 94

32个"常见符号"反映了可打印ASCII标点符号集 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 加上空格,这些与62个字母数字字符一起构成了标准的94字符可打印ASCII池。

解读您的破解时间

破解时间和密码 从两个角度衡量相同的事物。随机密码的比特熵为 \(H = L\log_2 C\);每增加一比特会使所需的猜测数翻倍,因此在固定的猜测速率下会使平均破解时间翻倍。比特数的粗略解读:

  • 40比特以下 — 弱。这个范围(例如一个8字符小写密码约为 \(\approx 37.6\) 比特)在快速离线硬件面前会在几秒到几天内被破解,不应该保护任何敏感内容。
  • 约60–70比特 — 中等。可以抵抗临时的离线攻击,但在资源充足的GPU集群面前有可能被破解。
  • 80比特及以上 — 强。被认为用当前和可预见的技术进行暴力破解是不可行的;12字符的全类别密码大约达到78比特,16字符的达到约105比特。

NIST的数字身份指南(SP 800-63B)强调长度而非强制复杂性规则,建议允许长密码短语,并建议针对泄露和字典列表筛选密码,而不是强制要求混合字符类——正是因为下面的暴力破解时间假设的是真正随机的密码。

重要警告:这些数字是一个上界。公式假设每个字符在整个集合中均匀随机地选择。真正的攻击者不会从"aaaaaaaa"开始——他们会首先运行字典、泄露的密码列表、键盘模式、姓名、日期和可预见的替换。像 P@ssw0rd123 这样的密码有很大的名义字符集和长度,但几乎立即被破解,因为它出现在词表中。只有对随机进程生成的密码才将计算的时间视为有意义,而不是由人类选择的密码。

这是一般的安全信息,不是任何特定账户安全的保证;将强大的唯一密码与多因素身份验证配对。

常见问题

为什么要除以 2? 暴力破解会在整个密钥空间的某个位置找到密码;平均来说大约是在一半的位置,因此期望耗时是最大值的一半。

这个结果是确定性的保证吗? 不是。计算器假设密码是完全随机的。如果密码是重复使用的、来自字典或带有规律性的,无论长度多少,都会被破解得快得多。

该选多大的字符集? 只勾选密码中实际包含的字符类型即可。这里的符号默认按 32 个常见标点符号来计算。

最后更新: