這個密碼產生器能做什麼
這項工具會依照你勾選的字元類別,隨機產生一組最長 50 字元的密碼,可選類別包括:小寫字母、大寫字母、數字、標點符號,以及括號與其他符號。密碼完全在你當下的瀏覽器作業中即時產生,不會被儲存或上傳,因此每組結果只存在於你眼前的這個頁面。
使用方式
勾選你想納入的字元類別,選擇字元的挑選方式,設定密碼長度,再按下產生即可。五種字元類別可任意搭配,納入的類別越多,可能組合的範圍就越大,密碼也越難被猜中。
平均挑選方式提供兩種策略。所有已選字元會把所有啟用的類別合併成一個字元池,再從這個池中以等機率隨機抽取每一個字元。逐一輪流各類別則會依序在啟用的類別間輪替,盡量讓每個類別都被平均使用,最後再經過一次洗牌將位置打亂。
公式說明
密碼安全性通常以「搜尋空間」來衡量,也就是攻擊者在最壞情況下必須嘗試的所有可能密碼總數。當字元池中有 P 個不同字元、密碼長度為 L 時,搜尋空間即為 \(P^{L}\)。每多加一個字元(增加 \(L\)),搜尋空間就乘上 \(P\);而加入更多字元類別則會提高 \(P\),因此「長度」與「多樣性」都會以倍數方式強化你的防護。
$$\text{Search Space} = P^{L}$$
實例演算
假設你啟用了小寫字母(26 個)、大寫字母(26 個)與數字(10 個),選擇逐一輪流各類別,並要求產生 8 個字元。此時共有 \(k=3\) 個類別,因此輪替順序 0,1,2,0,1,2,0,1 會產生 3 個小寫、3 個大寫與 2 個數字。每個類別的字元數量為 \(n_j \in \left\{ \left\lfloor \tfrac{L}{k} \right\rfloor, \left\lceil \tfrac{L}{k} \right\rceil \right\}\)。經過 Fisher-Yates 洗牌後,你可能會得到類似 kT4mQ7pR 的結果。字元池大小為 \(P = 26+26+10 = 62\),所以搜尋空間為 $$62^{8} \approx 2.18 \times 10^{14}$$
常見問題
我的密碼會被儲存嗎?不會。每組密碼只會即時產生並顯示,不會被儲存或記錄。
密碼應該設多長?建議至少 12 到 16 個字元,並搭配多種字元類別。越長一定越安全,因為每多一個字元都會讓搜尋空間倍增。
「逐一輪流各類別」能保證什麼?它會盡量讓字元平均分布在你所選的各個類別上,有助於符合許多網站「必須混用字母、數字與符號」的密碼規則。