Base64 · 20
120
bit · 10^36.1
Base64 20 位 — 120 位熵
每個字元承載 6 位,共 120 位,組合數為 10 的 36.1 次方。要用 94 個 ASCII 字元達到同樣強度,需要 18.3 個。
- 長度
- 20
- 字元集大小
- 64
- 每個字元的位數
- 6 bit
- 總位數
- 120 bit
- 組合數
- 10^36.1
- 換成 ASCII 相當於
- 18.3
網站是怎麼存的
- NTLM(Windows)10^16.9 年
- MD510^17.1 年
- SHA-25610^18 年
- WPA2 Wi-Fi10^21.9 年
- bcrypt10^23.1 年
同一個密碼,因儲存方式不同,答案可以相差一百萬倍以上。一張 RTX 4090 每秒能試 2885 億次 NTLM、1641 億次 MD5,而 bcrypt 只有 18.4 萬次——bcrypt 是故意做慢的。所以含符號的 8 位 ASCII 密碼在用 NTLM 的地方不到三小時就破,在用 bcrypt 的地方能撐五百多年。而用哪種,輸密碼的人無從選擇。
這張表算什麼、不算什麼
這裡的時間假設密碼是**隨機選取**並從頭到尾窮舉的。人編的密碼撐不了這麼久——詞典詞、鍵盤順序、生日,以及結尾加的 ! 和 1,攻擊方會先試。「P@ssw0rd!」按九位 ASCII 算是 59 位,實際幾秒就破。反過來,顯卡多幾張,時間就除以幾。
相鄰長度
同一字元集,不同長度
同一長度,不同字元集
最常見的事故不是被破解
更常見的是:從一個網站外洩的密碼,被原樣拿到另一個網站去試。哪怕要幾年才能破的密碼,只要兩處共用,弱的那邊被攻破的當天它也一起完了。比加長更優先的是**不重複使用**和開啟兩步驟驗證。
怎麼看這一頁
- 每個字元的位數 = log2(字元集大小),再乘以長度就是總數。
- 破解時間 = 組合數的一半 ÷ 每秒嘗試次數。
- 速度取自 hashcat 在單張 RTX 4090 上的公開實測值。
- 這些數字假設密碼是隨機的。人編的會早得多被破。
常見問題
Q. Base64 20 位是多少熵?
120 位。每個字元 6 位,再乘以 20。
Q. 一共有多少種組合?
10 的 36.1 次方,也就是 64 自乘 20 次。
Q. 換成 ASCII 相當於幾位?
18.3 位,按含符號的 94 個 ASCII 字元計。
Q. 破解要多久?
取決於儲存方式。一張 RTX 4090 每秒能試 2885 億次 NTLM,卻只有 18.4 萬次 bcrypt,時間相差一百萬倍以上。