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