密码强度·字母+数字 10
字母+数字 · 10
59.5
bit · 10^17.9

字母+数字 10 位 — 59.5 位熵

每个字符承载 5.95 位,共 59.5 位,组合数为 10 的 17.9 次方。要用 94 个 ASCII 字符达到同样强度,需要 9.1 个。

长度
10
字符集大小
62
每个字符的位数
5.95 bit
总位数
59.5 bit
组合数
10^17.9
换成 ASCII 相当于
9.1

网站是怎么存的

  • NTLM(Windows)16.8 天
  • MD529.6 天
  • SHA-256221 天
  • WPA2 Wi-Fi5249.2 年
  • bcrypt72271.2 年

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

这张表算什么、不算什么

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

相邻长度

同一字符集,不同长度

同一长度,不同字符集

最常见的事故不是被破解

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

怎么看这一页

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

常见问题

Q. 字母+数字 10 位是多少熵?

59.5 位。每个字符 5.95 位,再乘以 10。

Q. 一共有多少种组合?

10 的 17.9 次方,也就是 62 自乘 10 次。

Q. 换成 ASCII 相当于几位?

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

Q. 破解要多久?

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