tigtools

密碼產生器

選擇密碼長度和字元類型,使用瀏覽器的密碼學亂數產生器建立密碼。密碼只會在您的裝置上產生,不會傳送至任何地方。

在瀏覽器中執行 免註冊

20
包含

如果網站不接受某些符號,可以編輯此清單。空格會忽略,重複的字元只會計算一次。

產生的密碼

    129 位元
    估計熵值
    非常強
    強度
    89
    可用字元數

    使用方式

    1. 使用滑桿設定長度,或輸入確切字元數(4–128)。
    2. 選擇要包含的字元類型。如果網站只接受特定符號,請編輯符號清單。
    3. 您可以選擇排除容易混淆的字元;若網站有字元組成規定,請保持開啟「至少使用一次每種已選類型」。
    4. 複製單一密碼,或使用「全部複製」逐行複製所有密碼。按下「重新產生」即可產生新的一組密碼。

    運作方式

    每個字元都使用 crypto.getRandomValues 選取,這是瀏覽器內建的密碼學安全亂數產生器。此工具絕不使用 Math.random。若要從含有 n 個字元的字元池中選取字元,工具會產生一個 32 位元隨機數,並捨棄大於 n 的最大倍數的那段小範圍內的數值。這種拒絕取樣方式可避免取模偏差,確保字元池中的每個字元都有完全相同的機率被選中。

    開啟「至少使用一次每種已選類型」時,工具會先從每種已選類型中各選一個字元,再從合併後的字元池填滿剩餘位置,最後使用相同的無偏亂數來源進行 Fisher–Yates 洗牌。如此一來,保證會出現的字元就不會總是排在開頭。

    熵值是以 log2(字元池大小) × 長度計算。使用全部 89 個預設字元所產生的 16 字元密碼,熵值約為 103 位元;20 字元密碼則約為 129 位元。「至少使用一次每種已選類型」這項規則會稍微減少可能的密碼數量,因此實際熵值會比顯示的數字略低。強度標籤僅供參考:低於 28 位元為極弱,28–39 位元為弱,40–59 位元為普通,60–99 位元為強,100 位元以上為極強。熵值只適用於像這樣隨機產生的密碼,無法反映人自行設定的密碼強度。

    範例

    用於密碼管理器的密碼

    保留預設設定(20 個字元,包含全部四種類型)。產生的密碼熵值約為 129 位元,遠遠超出猜測的可能性,而且密碼管理器會替您記住密碼。

    不接受部分符號的網站

    如果銀行只接受 !@#$%,請將符號清單改成這五個字元。字元池會縮小至 67 個字元,因此 16 字元密碼的熵值仍約有 97 位元。

    需要在電視上輸入的 Wi-Fi 密碼

    關閉符號並排除容易混淆的字元。排除 I、l、1、O、0 和 o 後,使用剩下 56 個英文字母和數字產生的 16 字元密碼,方便唸出來,也仍有約 93 位元的熵值。

    常見問題

    密碼應該設多長?

    使用密碼管理器保護的帳戶,設定 16–20 個隨機字元就很足夠。如果您必須經常手動輸入密碼,使用較長的英文字母和數字組合會更容易輸入,安全性也可以和較短的符號密碼一樣高。

    在網站上產生密碼安全嗎?

    此頁面完全在您的瀏覽器中產生密碼,使用作業系統提供的安全亂數來源。密碼不會傳送至伺服器、儲存或納入分析。頁面載入後,即使中斷網路連線也能繼續使用。

    為什麼排除容易混淆的字元會降低熵值?

    熵值取決於每個位置可以使用多少種字元。移除字元會縮小字元池,因此每個字元增加的位元數會稍微減少。將密碼長度增加幾個字元即可彌補。

    什麼是「取模偏差」?為什麼重要?

    簡單的產生器會取一個隨機數,再用它除以字元池大小並取餘數。除非字元池大小能整除亂數範圍,否則某些字元出現的機率會略高。此工具會捨棄分布不均的尾端範圍並重新取數,因此每個字元都有相同的機率被選中。

    隱私權

    密碼使用 crypto.getRandomValues 在您的瀏覽器中產生,不會上傳、儲存、記錄或傳送至分析服務;系統只會記錄一筆匿名的工具使用事件。複製功能會使用您裝置的剪貼簿。