首頁·密碼強度
廣告

加密貨幣交易所註冊優惠

只要註冊就能領取的優惠。條件皆依各交易所公告原樣列出。

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最重要的是什麼?

不要重複使用。把外洩的密碼拿到別處去試,比真去破解常見得多。