ByteScope

Password Generator

高強度隨機密碼、通關密語與 PIN — 在本機產生,絕不傳送。

檔案不會離開你的瀏覽器 — 全部在本機處理。

Nothing you generate ever leaves this page

Uses crypto.getRandomValues — the browser's cryptographically secure random source — instead of Math.random, which is predictable and unsafe for secrets.

關於這個工具

這個密碼產生器完全在你的瀏覽器中執行,並使用 crypto.getRandomValues — 也就是你瀏覽器內建、在密碼學上安全的亂數產生器 — 絕不使用 Math.random。選一個字元集(大寫/小寫、數字、符號,並可選擇排除像 0O1lI 這類容易混淆的字元)、設定長度,就能一次產生任意數量的候選密碼。

偏好一個你真的記得住的?通關密語模式會從 EFF 長詞表中抽出 4–8 個單字 —「correct horse battery staple」的那套做法 — 它以較長的字串換取在同等強度下遠更容易記憶。PIN 模式則涵蓋純數字代碼。每個結果都會以位元數顯示它的熵值,旁邊附上一段白話估算,說明離線暴力破解大約要花多久。

與大多數線上密碼工具不同,這個頁面不載入任何第三方產生器指令碼,而產生器本身不發出任何網路請求 — 你可以在瀏覽器的 DevTools Network 分頁驗證,產生一組密碼不會送出任何東西。(頁面上唯一的請求是本站無 cookie 的頁面瀏覽 beacon,它不帶有任何產生出來的資料。)產生的密碼只保留在記憶體中:不會儲存任何東西,重新整理頁面就會清除歷史。

常見問題

在網站上產生密碼安全嗎?
這完全取決於亂數從哪裡來、以及結果往哪裡去。這個頁面用你瀏覽器內建的 CSPRNG(crypto.getRandomValues)產生密碼,而且產生器不發出任何網路請求 — 產生並複製一組密碼不會送出任何東西到任何地方,所以密碼只存在於你的機器上。你可以用 DevTools Network 分頁確認:這個頁面上唯一的流量是本站無 cookie 的頁面瀏覽 beacon,它從不會看到你的密碼。
為什麼用 crypto.getRandomValues 而不是 Math.random?
Math.random 是為遊戲和動畫設計的快速偽亂數產生器 — 它的輸出可預測到絕不能用於機密。crypto.getRandomValues 則是由作業系統播種、在密碼學上安全的亂數來源,這正是產生密碼所需要的。
什麼是通關密語?我什麼時候該用它?
通關密語是把來自固定詞表的隨機單字串在一起(本工具使用 EFF 長詞表:7,776 個單字,每個單字約 12.9 位元的熵)。一句 5 個單字的通關密語(約 64 位元)在強度上與一組 10 字元的混合符號密碼相當,但打起來、記起來都容易得多 — 非常適合你必須記住的主密碼。
破解時間的估算是怎麼算出來的?
從熵值來算:一組從 N 種可能中均勻選出的密碼,平均需要 N/2 次猜測。這個估算假設一個離線攻擊者每秒測試 100 億次猜測(對付快速雜湊的實際 GPU 機組)— 實際時間會因服務如何儲存密碼而差異極大,所以請把它當作數量級的參考。
產生的密碼會被儲存在任何地方嗎?
不會。結果只存在這個分頁的記憶體裡,讓你可以比較幾個候選;沒有 cookie、沒有 localStorage 項目,也不會把任何東西送到任何地方。重新整理頁面就會清除一切。