首页·密码强度
广告

加密货币交易所注册福利

只要注册就能领取的福利。条件均按各交易所公告原样列出。

100 格密码 — 存储方式比长度更能改变答案

10 种字符集与 10 种长度交汇的每一格,都算出熵位数和破解所需时间。速度不是编的,用的是 hashcat 在单张 RTX 4090 上的公开实测值。

含符号的完整 ASCII 12 · 78.7 bit

  • NTLM(Windows)26136.9 年
  • MD545950.7 年
  • SHA-256343132.2 年
  • WPA2 Wi-Fi10^9.5 年
  • bcrypt10^10.6 年

一个字符能承载多少

一个字符能承载的强度是字符集大小的对数:只用数字是 3.3 位,加上小写字母是 4.7 位,含符号的 94 个 ASCII 字符是 6.6 位。总强度等于它乘以长度,所以加长通常胜过加花样——多一个 ASCII 字符能加 6.6 位,而从小写扩到完整 ASCII 每个字符只多 1.9 位。

网站是怎么存的

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

一个韩文音节抵两个 ASCII 字符

标准韩文区共有 2,350 个音节。把一个音节算作一个字符,它就承载 11.2 位——是 ASCII 字符的 1.7 倍。所以八个韩文音节强过十三个 ASCII 字符,又不及十四个。问题在于很多系统不接受,没有输入法的设备根本打不出来。

这张表算什么、不算什么

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

最常见的事故不是被破解

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

按字符集和长度查找

字符集大小 · 长度

仅数字字符集大小 10

仅数字 · 6
19.9 bit
仅数字 · 8
26.6 bit
仅数字 · 10
33.2 bit
仅数字 · 12
39.9 bit
仅数字 · 14
46.5 bit
仅数字 · 16
53.2 bit
仅数字 · 20
66.4 bit
仅数字 · 24
79.7 bit
仅数字 · 32
106.3 bit
仅数字 · 40
132.9 bit

十六进制字符集大小 16

十六进制 · 6
24 bit
十六进制 · 8
32 bit
十六进制 · 10
40 bit
十六进制 · 12
48 bit
十六进制 · 14
56 bit
十六进制 · 16
64 bit
十六进制 · 20
80 bit
十六进制 · 24
96 bit
十六进制 · 32
128 bit
十六进制 · 40
160 bit

仅小写字母字符集大小 26

仅小写字母 · 6
28.2 bit
仅小写字母 · 8
37.6 bit
仅小写字母 · 10
47 bit
仅小写字母 · 12
56.4 bit
仅小写字母 · 14
65.8 bit
仅小写字母 · 16
75.2 bit
仅小写字母 · 20
94 bit
仅小写字母 · 24
112.8 bit
仅小写字母 · 32
150.4 bit
仅小写字母 · 40
188 bit

Base32字符集大小 32

Base32 · 6
30 bit
Base32 · 8
40 bit
Base32 · 10
50 bit
Base32 · 12
60 bit
Base32 · 14
70 bit
Base32 · 16
80 bit
Base32 · 20
100 bit
Base32 · 24
120 bit
Base32 · 32
160 bit
Base32 · 40
200 bit

小写字母+数字字符集大小 36

小写字母+数字 · 6
31 bit
小写字母+数字 · 8
41.4 bit
小写字母+数字 · 10
51.7 bit
小写字母+数字 · 12
62 bit
小写字母+数字 · 14
72.4 bit
小写字母+数字 · 16
82.7 bit
小写字母+数字 · 20
103.4 bit
小写字母+数字 · 24
124.1 bit
小写字母+数字 · 32
165.4 bit
小写字母+数字 · 40
206.8 bit

大小写字母字符集大小 52

大小写字母 · 6
34.2 bit
大小写字母 · 8
45.6 bit
大小写字母 · 10
57 bit
大小写字母 · 12
68.4 bit
大小写字母 · 14
79.8 bit
大小写字母 · 16
91.2 bit
大小写字母 · 20
114 bit
大小写字母 · 24
136.8 bit
大小写字母 · 32
182.4 bit
大小写字母 · 40
228 bit

字母+数字字符集大小 62

字母+数字 · 6
35.7 bit
字母+数字 · 8
47.6 bit
字母+数字 · 10
59.5 bit
字母+数字 · 12
71.5 bit
字母+数字 · 14
83.4 bit
字母+数字 · 16
95.3 bit
字母+数字 · 20
119.1 bit
字母+数字 · 24
142.9 bit
字母+数字 · 32
190.5 bit
字母+数字 · 40
238.2 bit

Base64字符集大小 64

Base64 · 6
36 bit
Base64 · 8
48 bit
Base64 · 10
60 bit
Base64 · 12
72 bit
Base64 · 14
84 bit
Base64 · 16
96 bit
Base64 · 20
120 bit
Base64 · 24
144 bit
Base64 · 32
192 bit
Base64 · 40
240 bit

含符号的完整 ASCII字符集大小 94

含符号的完整 ASCII · 6
39.3 bit
含符号的完整 ASCII · 8
52.4 bit
含符号的完整 ASCII · 10
65.5 bit
含符号的完整 ASCII · 12
78.7 bit
含符号的完整 ASCII · 14
91.8 bit
含符号的完整 ASCII · 16
104.9 bit
含符号的完整 ASCII · 20
131.1 bit
含符号的完整 ASCII · 24
157.3 bit
含符号的完整 ASCII · 32
209.7 bit
含符号的完整 ASCII · 40
262.2 bit

韩文音节字符集大小 2350

韩文音节 · 6
67.2 bit
韩文音节 · 8
89.6 bit
韩文音节 · 10
112 bit
韩文音节 · 12
134.4 bit
韩文音节 · 14
156.8 bit
韩文音节 · 16
179.2 bit
韩文音节 · 20
224 bit
韩文音节 · 24
268.8 bit
韩文音节 · 32
358.4 bit
韩文音节 · 40
447.9 bit

怎么看这一页

  • 每个字符的位数 = log2(字符集大小),再乘以长度就是总数。
  • 破解时间 = 组合数的一半 ÷ 每秒尝试次数。
  • 速度取自 hashcat 在单张 RTX 4090 上的公开实测值。
  • 这些数字假设密码是随机的。人编的会早得多被破。
  • NTLM(Windows)2.89e+11 /s
  • MD51.64e+11 /s
  • SHA-2562.20e+10 /s
  • WPA2 Wi-Fi2.53e+6 /s
  • bcrypt1.84e+5 /s

常见问题

Q密码多长才安全?

取决于怎么存。含符号的 12 位 ASCII 是 78.7 位熵:存成 NTLM 要 2.6 万年,存成 bcrypt 要 410 亿年。减到八位,NTLM 不到三小时就破。

Q加长度还是加符号?

通常是长度。多一个 ASCII 字符加 6.6 位,而从小写扩到完整 ASCII 每个字符只多 1.9 位。

Q用韩文会更强吗?

每个音节 11.2 位,是 ASCII 字符的 1.7 倍。但接受的系统很少,没有输入法也打不出来。

Q这些时间是真的吗?

它们假设密码随机且从头穷举。人编的密码在词典攻击下会早得多被破。

Q最重要的是什么?

不要重复使用。把泄露的密码拿到别处去试,比真去破解常见得多。