易記密碼短語生成器(Diceware式)

通過隨機組合常見單詞,生成易於記憶、也便於口頭傳達的密碼短語。可指定單詞數量、分隔符、首字母大寫和末尾數字,全部處理均在瀏覽器內完成。

本工具的單詞選擇與組合均在瀏覽器內(Web Crypto API)完成,絕不會發送到伺服器。

關於 Diceware 密碼短語方法

Diceware 是一種通過骰子(或其他隨機來源)從單詞表中選取若干單詞並拼接起來生成密碼的方法。相比隨機的字母符號串,其結果對人類而言更容易記憶,並且隨著單詞數量增加,其抵禦暴力破解的強度(熵)會呈線性增長。

密碼短語生成是什麼

密碼短語是以多個常見單字串接而成的密碼,取代摻入符號的短字串。對人而言,它作為單字的排列很好記,而只要增加單字數量,對暴力破解的強度便會呈直線上升。本工具可指定單字數、分隔字元、大寫化與數字附加,當場生成密碼短語。

生成使用密碼學上安全的亂數,處理全部在瀏覽器內完成。既不會送往伺服器也不會儲存,因此請當場複製所顯示的字串。重新載入頁面便會換成另一組組合。一併顯示的推估強度,是由單字表的規模與單字數所推算的參考值。

密碼短語的產生方法

  1. 決定單字數 建議4個以上。3個以下推估強度不足,無法對專用的破解工具具備足夠的耐受度。
  2. 選擇分隔字元 在需要口頭傳達的場合,連字號較易朗讀而便利。若服務不允許空白,請選擇其他符號。
  3. 設定大寫化與數字附加 這是為要求必須含大寫或數字的服務所做的調整。可在滿足要求的同時保持好記。
  4. 生成並複製 可重新產生直到出現滿意的組合。決定後請當場複製並登錄至保存處。

用好本工具的小技巧

  • 建議至少使用4個單詞。3個及以下時,預估熵值往往不足以抵禦專用破解工具。
  • 在需要口頭告知或手寫記錄的場景(如Wi-Fi密碼)中,連字元分隔更易讀,也能減少輸入錯誤。
  • 如果某些服務要求必須包含符號,啟用"在末尾新增2位數字"有助於在不使用標點符號的情況下滿足複雜度要求。
  • 生成的密碼短語僅用於顯示,不會被儲存。重新整理頁面會生成新的組合,如需使用請立即複製。

密碼短語的實用場景

決定 Wi-Fi 的密碼

由於經常需要口頭告知訪客,單字的排列遠比符號的羅列容易傳達。以連字號分隔適合朗讀。

密碼管理工具的主密碼

這是唯一需要自己記住的密碼。可在確保長度的同時做成能夠記憶的形式。

加密檔案的通行密語

作為 ZIP 或磁碟加密所用的通行密語,可選擇易於傳達且不易打錯的形式。

臨時的共用密碼

適合團隊內短期共用的用途。即使貼在聊天室,也不易發生誤讀。

與密碼短語相關的術語

密碼短語
指將多個單字串接而成的密碼。易於確保長度,且便於記憶與口頭傳達是其特點。
Diceware
指以骰子等亂數從單字表中挑選詞語的方式。此思維即為密碼短語生成的基礎。
熵(Entropy)
指以位元數表示猜測難度的指標。數值每增加1,暴力破解所需的嘗試次數便加倍。
暴力破解攻擊
指將可能的組合從頭逐一嘗試的攻擊。密碼短語的長度會直接轉化為耐受度。
字典攻擊
指嘗試常用單字或過去外洩密碼的攻擊。以隨機方式挑選單字即可對抗。
Web Crypto API
指瀏覽器所具備的密碼處理機制。本工具以此產生難以預測的亂數。

常見問題

兩者沒有嚴格的定義區分,但"密碼"通常指隨機的字串,而"密碼短語"指由若干單詞拼接而成、便於記憶的字串。在強度相近的情況下,密碼短語通常更容易被人記住和輸入。

對於日常賬戶,建議使用4個或以上單詞。對於金融服務、加密貨幣錢包等尤其重要的賬戶,使用5到6個單詞能對專用破解裝置提供更強的抵禦能力。

詞典攻擊針對的是單個單詞,而本工具的安全性來自多個單詞的組合。即使單詞表是公開的,隨著單詞數量增加,可能的組合數會呈指數級增長,從而在實踐中提供足夠的抵禦能力。

不會。生成過程完全在瀏覽器內完成,不會發送或儲存到任何地方。關閉或重新整理頁面後當前結果即會丟失,如需使用請立即複製。
工具君

閒話 ― "correct horse battery staple" 如何改變了討論方向

Diceware方法本身由Arnold Reinhold於1995年提出,但真正廣為人知要歸功於2011年網路漫畫xkcd的第936話。該漫畫將"Tr0ub4dor&3"這類看似複雜卻難以記憶的密碼,與由"correct horse battery staple"這四個普通單片語成的密碼短語進行比較,指出後者雖然更易記憶,但對暴力破解的理論強度反而更高。

這種看似矛盾的現象源於資訊理論中的熵。與其在每個位置擴大字元集,不如從一個大型單詞表中選取多個單詞,這樣每次選擇能積累更多的隨機位元數。即便是一個約853個單詞的列表,每個單詞也約有9.7位元的資訊量,因此四個單詞組合起來的強度已可媲美一個混合字母、數字與符號的8位密碼。

不過這也有實際的權衡之處。較長的密碼短語更容易出現輸入錯誤,而且如果重複使用同一份單詞表,一旦該表洩露,攻擊者的搜尋空間實際上就會縮小到該表的範圍內。對於最重要的賬戶,建議將生成的密碼短語當作密碼管理器的可記憶主密碼使用,而非到處重複使用。