這個計算器的用途
「密碼破解時間計算器」會估算駭客若以暴力破解(逐一嘗試所有可能組合)的方式,需要花多久才能破解你的密碼。計算完全根據密碼的金鑰空間大小(keyspace)與攻擊者的猜測速度,讓你快速感受到:把密碼設長一點、複雜一點,安全性究竟能提升多少。
使用方式
輸入密碼的長度(字元數量),勾選密碼所使用的字元組合,再設定攻擊者的每秒猜測次數。一台現代 GPU 機組大約每秒可進行十億(1,000,000,000)次快速雜湊猜測,可作為合理的預設值。結果會顯示在最壞情況下、把整個金鑰空間試完所需的時間,並以秒、小時、天與年數呈現。
公式說明
所有可能密碼的總數,等於字元集大小的「長度次方」:\(C = N^{L}\)。將這個數字除以攻擊者每秒的猜測次數,就能得到試完全部組合所需的時間:
$$ t = \frac{N^{L}}{G} $$字元集大小 \(N\) 是各類字元相加的結果:小寫字母(26)、大寫字母(26)、數字(10)與符號(32),全部混用時 \(N = 94\)。
實例試算
以一組 8 個字元的純小寫密碼為例(\(N = 26\)、\(L = 8\)),面對每秒猜測十億次的攻擊者。組合數 $$ = 26^{8} = 208{,}827{,}064{,}576 $$ 破解時間 $$ = \frac{208{,}827{,}064{,}576}{1{,}000{,}000{,}000} \approx 208.83 \text{ 秒} $$——不到四分鐘。若再加入大寫字母、數字與符號(\(N = 94\)),同樣 8 個字元的組合數會暴增到 \(94^{8} \approx 6.1 \times 10^{15}\),約需 70 天才能破解。
常見問題
這個結果準確嗎?不算精確。它代表的是純暴力破解的理論上限。實際上,駭客會運用字典檔、外洩密碼清單與常見模式來攻擊,因此一組容易猜中的密碼,被破解的速度會遠遠快於這個估算值。
我該設定多少猜測速度?這取決於雜湊演算法。快速雜湊(如 MD5、未加鹽)每秒可猜上億次;慢速雜湊(如 bcrypt、Argon2)每秒只能猜幾千次。\(G\) 值愈低,破解所需時間就愈長。
如何設定強而有力的密碼?長度勝過複雜度。每多一個字元,金鑰空間就會乘上 \(N\) 倍,因此一段較長的通行密語(passphrase),會比一組又短又複雜的密碼難破解得多。