密碼產生器:一鍵產生隨機強密碼
自己想密碼時,很容易不自覺地用上名字、生日、電話或鍵盤上相鄰的按鍵, 這些都是攻擊者最先嘗試的組合。這個密碼產生器改由電腦用安全亂數替你挑選字元, 可以產生 8 到 64 個字元的隨機密碼,也可以產生由常見英文單字組成、比較好記的密碼片語, 並即時顯示強度估計。密碼只在你的瀏覽器內產生:不會上傳到伺服器、 不會寫入瀏覽器儲存空間,也不會出現在網址裡,關閉頁面後就不留痕跡。
密碼強度怎麼算?
隨機密碼的強度通常用「熵」來表示,單位是 bits。 公式是:熵=密碼長度×log₂(字元集大小)。熵每增加 1 bit, 攻擊者平均要嘗試的組合數就變成 2 倍。 本工具的等級劃分為:未滿 40 bits 為弱、40–59 為普通、60–79 為強、80 以上為很強。
算例:預設勾選大寫 26 個、小寫 26 個、數字 10 個與符號 23 個, 字元集共有 26+26+10+23=85 種字元,log₂(85)≈6.409。 長度 16 時,熵=16×6.409≈102.5 bits,屬於「很強」。 如果只用小寫字母、長度 8,熵=8×log₂(26)≈8×4.700≈37.6 bits,屬於「弱」。 密碼片語的算法類似:熵=單字數×log₂(單字表大小)。 本工具的單字表有 300 個單字,log₂(300)≈8.229, 所以 4 個單字約 32.9 bits,6 個單字約 49.4 bits,8 個單字約 65.8 bits; 結尾多加一個數字會再增加 log₂(10)≈3.3 bits。
請注意,這個估計只適用於「隨機產生」的密碼。 自己想的密碼就算長度相同,也會因為有規律而好猜得多,不能套用同一個公式。
如何使用密碼產生器?
- 打開頁面就會自動產生一組 16 個字元的隨機密碼,可以直接使用。
- 需要調整時,在「密碼類型」選擇「隨機字元」或「好記的密碼片語」。
- 隨機字元:拖曳滑桿或輸入數字設定長度,再選擇要包含的字元種類;每個勾選的種類至少會出現一個字元。
- 密碼片語:選擇單字數量與分隔符號,視需要勾選首字大寫或結尾加數字。
- 查看強度估計,不滿意就按「重新產生」。
- 按「複製」後,立刻貼到網站的密碼欄並存進密碼管理器。
為什麼長度比複雜度重要?
從公式可以看出,長度是用「乘」的,字元種類只影響 log₂ 裡面的數字。 同樣是 8 個字元,從只有小寫(約 37.6 bits)改成大小寫加數字加符號,會提高到約 51.3 bits; 但只用小寫字母、把長度加到 16,就有約 75.2 bits。 所以遇到不接受符號的網站也不必擔心,把長度拉長就能補回來。 有些網站限制密碼長度或可用的符號,這時候可以取消「符號」或勾選 「排除容易混淆的字元」(0 O o 1 l I |),需要手動抄寫或唸給別人聽時特別實用。
使用密碼的實用提醒
每個網站都應該使用不同的密碼。只要有一個網站的資料外洩, 攻擊者就會拿同一組帳號密碼去其他網站嘗試;密碼不重複,損害才不會擴大。 這麼多組隨機密碼不可能靠腦袋記住,建議交給密碼管理器保存, 自己只需要記住一組夠長的主密碼。重要的帳號(電子信箱、網路銀行、社群帳號) 請再開啟兩步驟驗證,即使密碼外洩,對方少了第二道驗證也不容易登入。 另外,不要把密碼存在沒有加密的記事本、試算表或聊天訊息裡, 也不要把密碼傳給別人;需要共用帳號時,改用密碼管理器的分享功能比較安全。
密碼片語的優缺點
密碼片語由幾個隨機挑選的單字組成,例如用連字號連起來的四、五個英文單字。 優點是好記、好輸入,在手機或電視上打字比較不容易出錯,很適合當作需要親手輸入的密碼, 例如密碼管理器的主密碼或電腦登入密碼。缺點是每個單字提供的熵有限: 以本工具 300 個單字的單字表來說,4 個單字只有約 32.9 bits,並不算高。 建議至少使用 5–6 個單字並搭配兩步驟驗證;重要帳號請用到 8 個單字, 或直接改用「隨機字元」交給密碼管理器保存。 片語一定要由工具隨機挑選,自己挑喜歡的單字或用現成的名言、歌詞,強度會大打折扣。
密碼產生器常見問題
產生的密碼會被上傳或儲存嗎?
不會。密碼是用瀏覽器內建的 crypto.getRandomValues 安全亂數在你的裝置上產生, 不會傳送到伺服器、不會寫入瀏覽器儲存空間,也不會放進網址。 關閉或重新整理頁面後密碼就消失,所以請記得先存進密碼管理器。
密碼要多長才夠安全?
隨機產生的密碼建議至少 16 個字元。包含大小寫、數字與符號共 85 種字元時, 16 個字元約有 102.5 bits 的熵,屬於很強的等級。 既然是交給密碼管理器記,長一點並不會增加你的負擔。
密碼片語比隨機字元安全嗎?
不一定。同樣的字元數之下,隨機字元的熵比較高;密碼片語的優勢是好記好輸入。 本工具 4 個單字的片語只有約 32.9 bits,建議加到 5–6 個以上並搭配兩步驟驗證。
強度估計可以拿來檢查我自己想的密碼嗎?
不行。熵的算法假設每個字元或單字都是隨機抽出的。 自己想的密碼常含有姓名、生日或鍵盤順序,實際上比同樣長度的隨機密碼好猜得多。