§

產生模式

§

字元設定

拖曳以設定密碼長度。範圍:4 至 128 個字元。
移除視覺上相似的字元:0、O、o、1、l、I、|,以及反引號。
範圍:1 至 50。每筆結果都有自己的複製按鈕;「全部複製」會以換行字元將它們合併。
§

輸出

    台灣的合規法規對密碼強度有明確要求:金管會「金融機構辦理電子銀行業務安全控管作業基準」要求密碼至少 12 字元並混合字元類別;衛福部健保署電子病歷規範比照 NIST SP 800-63B;政府網路服務平臺 GSP 服務帳號則導入 TW FidO 無密碼方案。中華電信 HiCloud、TWCC 國研院容器服務,以及 ISO 27001 認證的資料中心皆要求服務帳號採高熵密碼。處理個資法第二十七條安全維護義務時,系統管理員密碼、SSH 金鑰通行短語、與 PCI-DSS 信用卡資料庫憑證,皆需由 CSPRNG 產生。

    這款密碼產生器有什麼不同?

    這是一款隱私優先、僅在瀏覽器內運作的密碼產生器。每一個隨機位元組都來自作業系統的密碼學亂數產生器,透過 crypto.getRandomValues 取得——絕不使用 Math.random。產生密碼時頁面不會發出任何網路請求,產生的值也不會離開你的分頁。打開 DevTools 的 Network 面板,點擊「產生」:它依然會保持靜默。

    這款密碼產生器是如何運作的?

    工具完全以 JavaScript 在你的瀏覽器中執行。沒有伺服器往返、沒有夾帶密碼的分析追蹤訊號,頁面載入後也不會再發出遠端字型請求。

    1. 從作業系統 CSPRNG 取種子。每一個隨機整數都從 crypto.getRandomValues(new Uint32Array(n)) 抽取——這與瀏覽器用於 TLS 金鑰材料和 crypto.randomUUID 的密碼學安全來源相同。Math.random 從不被呼叫;專案全域的 grep 強制執行此規定。
    2. 字元集組合。隨機字元模式會將啟用的字元類別——大寫、小寫、數字、符號——串接為單一字母表。「排除易混淆字元」選項接著會移除視覺上相似的字形(0Oo1lI|、反引號),讓密碼在朗讀或手抄時不會產生歧義。
    3. 無偏差索引取樣。若以樸素方式(取餘數)將 32 位元無號整數映射到字元集索引,當字元集大小無法整除 2^32 時會產生些許偏差。本工具採用拒絕取樣:落在餘數尾段的樣本會被丟棄並重新抽取,如此一來字元集中的每個字元被選中的機率皆相等。
    4. 批次產生。在隨機字元模式下,你可以一次產生 1 到 50 個密碼。每筆結果會渲染為一列,並附上自己的熵估算、強度等級與複製按鈕。「全部複製」會以換行字元串接各列,方便貼到 CSV 或密碼庫匯入檔案。
    5. 通行短語模式。切換到通行短語模式後,頁面會在首次使用時延遲載入 EFF Short Wordlist #1(1296 個公共領域的英文單字)。五個單字的通行短語約有 51.7 位元的熵——足以應付日常帳號,而且比 9 個字元的隨機亂數串更易於記憶。完成那一次同源請求後,頁面再次保持靜默。

    為什麼使用這款密碼產生器?

    • 你的密碼絕不離開瀏覽器。沒有伺服器端點、沒有夾帶密碼值的分析請求、沒有遠端字型、沒有遙測。打開 DevTools、產生一個密碼,看著 Network 面板始終保持空白。
    • 從結構上保證密碼學安全的隨機性。每個整數都來自 crypto.getRandomValues,並以拒絕取樣消除餘數偏差。瀏覽器密碼產生器最常見的錯誤——用 Math.random 作為熵來源——在這裡從結構上就不可能發生。
    • 兩種模式,一個工具。隨機字元模式產生高熵字串,適合密碼管理員使用;通行短語模式則以 EFF Short Wordlist #1 為基礎,產生人類易於記憶的 xkcd 風格字串(correct-horse-battery-staple)。兩種模式採用相同的隱私模型。
    • 透明的熵。每一列產生的結果都會顯示其熵(以位元為單位)以及明確的強度標籤,讓你一眼就能看出:12 個字元的無符號字串是否真的與 5 個單字的通行短語一樣強。沒有行銷話術,只有數字。

    產生密碼有哪些常見應用?

    每當你需要一個全新的隨機秘密,這就是能將信任面降到最低的工具:

    • 密碼管理員匯入。一次產生 50 個高強度密碼,點擊「全部複製」,貼到你的密碼庫 CSV 匯入檔。這些值從未經過任何伺服器往返,因此在產生與儲存之間沒有外洩的時間窗。
    • 主通行短語。切換到通行短語模式,選 6 或 7 個單字,視需要將每個單字首字母大寫——你就有了一個無需手寫即可記住的高熵字串。6 個單字大約 62 位元的熵——遠超離線攻擊所需的門檻。
    • 側專案的 API 金鑰與權杖。需要一個一次性的共享秘密作為 webhook 簽章金鑰或開發資料庫密碼?在這裡產生一個富含符號的 32 字元字串,複製一次即可,而它在傳輸中曾出現過的唯一位置,就是你自己的瀏覽器分頁內。

    產生密碼的範例是什麼樣子?

    將長度設為 16,保留四個字元類別全部啟用,然後點擊「產生」。字元集共有 26 + 26 + 10 + 32 = 94 個字元,因此每個產生的字元帶有 log2(94) ≈ 6.55 位元的熵。16 個字元落在大約 104.9 位元——遠超「非常強」的 80 位元門檻,以現有硬體實質上無法暴力破解。現在切換到通行短語模式,用預設的連字號分隔符選 5 個單字:cocktail-sprig-aspect-magenta-tonic 帶有 log2(1296) x 5 ≈ 51.7 位元的熵。可記憶、可輸入,而且比一般人類自選的密碼更強。

    產生、複製、繼續工作。頁面從未碰過伺服器,密碼從未離開你的分頁,熵則由第一性原理計算而來。這就是我們唯一的承諾。