密码强度·Base32 8
Base32 · 8
40
bit · 10^12

Base32 8 位 — 40 位熵

每个字符承载 5 位,共 40 位,组合数为 10 的 12 次方。要用 94 个 ASCII 字符达到同样强度,需要 6.1 个。

长度
8
字符集大小
32
每个字符的位数
5 bit
总位数
40 bit
组合数
10^12
换成 ASCII 相当于
6.1

网站是怎么存的

  • NTLM(Windows)1.9 秒
  • MD53.4 秒
  • SHA-25625 秒
  • WPA2 Wi-Fi2.5 天
  • bcrypt34.6 天

同一个密码,因存储方式不同,答案可以相差一百万倍以上。一张 RTX 4090 每秒能试 2885 亿次 NTLM、1641 亿次 MD5,而 bcrypt 只有 18.4 万次——bcrypt 是故意做慢的。所以含符号的 8 位 ASCII 密码在用 NTLM 的地方不到三小时就破,在用 bcrypt 的地方能撑五百多年。而用哪种,输密码的人无从选择。

这张表算什么、不算什么

这里的时间假设密码是**随机选取**并从头到尾穷举的。人编的密码撑不了这么久——词典词、键盘顺序、生日,以及结尾加的 ! 和 1,攻击方会先试。"P@ssw0rd!" 按九位 ASCII 算是 59 位,实际几秒就破。反过来,显卡多几张,时间就除以几。

相邻长度

同一字符集,不同长度

同一长度,不同字符集

最常见的事故不是被破解

更常见的是:从一个网站泄露的密码,被原样拿到另一个网站去试。哪怕要几年才能破的密码,只要两处共用,弱的那边被攻破的当天它也一起完了。比加长更优先的是**不重复使用**和开启两步验证。

怎么看这一页

  • 每个字符的位数 = log2(字符集大小),再乘以长度就是总数。
  • 破解时间 = 组合数的一半 ÷ 每秒尝试次数。
  • 速度取自 hashcat 在单张 RTX 4090 上的公开实测值。
  • 这些数字假设密码是随机的。人编的会早得多被破。

常见问题

Q. Base32 8 位是多少熵?

40 位。每个字符 5 位,再乘以 8。

Q. 一共有多少种组合?

10 的 12 次方,也就是 32 自乘 8 次。

Q. 换成 ASCII 相当于几位?

6.1 位,按含符号的 94 个 ASCII 字符计。

Q. 破解要多久?

取决于存储方式。一张 RTX 4090 每秒能试 2885 亿次 NTLM,却只有 18.4 万次 bcrypt,时间相差一百万倍以上。