密碼組合計算機
依密碼長度與字元集大小,計算可能的密碼數量及理論資訊熵。
密碼搜尋空間計算機
假設每個位置皆可獨立使用所選字元集中的任意字元。
關於密碼組合
當每個位置都可放入固定字元集中的任意字元時,密碼組合數代表理論搜尋空間的大小。若密碼有 L 個位置,每個位置允許 C 種字元,則相異字串數為 C 的 L 次方。因此,允許前置零的六位數 PIN 有 10⁶,也就是一百萬種可能值。八位小寫字母密碼則有 26⁸ 種可能字串。
計算機也會對搜尋空間取以二為底的對數,轉換為位元表示的資訊熵。每增加一個位元,可能數量就加倍。這是理論資訊熵,假設密碼從完整空間中獨立且均勻地選出。人為建立的密碼很少符合這項假設。常見單字、鍵盤排列、姓名、字元替換與重複使用的憑證,會讓選擇集中在小得多的有效搜尋空間。能產生隨機字元的密碼管理器較可能接近此估計值。
字元集大小應反映每個位置真正可用的字元。十進位數字提供 10 種選擇,小寫英文字母提供 26 種,大小寫字母加數字提供 62 種,常用的可列印 ASCII 範圍包含 94 個字元。若政策強制包含一個符號,或限制某些位置不得使用特定字元,簡單的次方公式便無法精確計算受限空間。同樣地,若通行片語從單字清單挑選,應以清單大小作為選擇數量,並以獨立選出的單字數作為長度。
組合數龐大並不能直接說明攻擊者需要多久。猜測速度會因密碼雜湊、硬體、速率限制、帳號鎖定,以及攻擊是在網路上進行還是針對竊取的雜湊值而大幅改變。攻擊者也會優先嘗試人類常用的選擇,而非以隨機順序檢查字串。請用結果比較理想化搜尋空間,不要據此保證特定破解時間。實務上應產生不重複的隨機密碼、使用多因素驗證,並僅以現代加鹽密碼雜湊演算法儲存密碼。
密碼組合範例
這些範例假設指定字元集中的每個字串都有相同的出現機率。
| 密碼格式 | 可能組合數 | 理論資訊熵 |
|---|---|---|
| 6 位數字;每個位置 10 種選擇 | 1,000,000 | 19.93 bits |
| 8 位小寫字母;26 種選擇 | 208,827,064,576 | 37.60 bits |
| 12 位英數字元;62 種選擇 | 3.2263e+21 | 71.45 bits |
如何計算密碼組合數
- 輸入密碼的總位數。
- 輸入每個位置可使用的字元數,或選擇預設值。
- 點選「計算組合數」,計算搜尋空間與資訊熵。
- 將理論結果與實際密碼產生方式的隨機性比較。
常見問題
如何計算密碼組合數?
以可用字元數為底數、密碼長度為指數計算次方。前提是每個位置都允許獨立使用相同的字元集。
什麼是密碼資訊熵?
資訊熵以二進位位元表示搜尋空間。只有選擇獨立且均勻隨機時,才能用它估計不可預測性。
特殊字元一定會讓密碼更安全嗎?
它們能擴大理論字元集,但可預測的位置或替換方式帶來的安全增益低於公式所示。增加隨機長度通常比熟悉的模式更有價值。
這個計算機會估計破解時間嗎?
不會。破解時間也取決於雜湊成本、攻擊者硬體、速率限制與猜測順序,因此只有組合數並不足夠。
可以用來計算隨機通行片語嗎?
可以,只要每個單字都從固定清單中獨立選取。以清單大小作為可用選擇數,以單字數作為長度。