DevToolPal
繁

密碼產生器

以密碼學安全的亂數產生高強度密碼,全部在瀏覽器本機完成。

本機處理,不會上傳

選項

密碼

0 字元 · 0 B

功能介紹

密碼產生器會從你選擇的字元集中產生高強度的隨機密碼:小寫字母、大寫字母、數字和符號。每組密碼都保證至少包含每個已開啟字元集中的一個字元,符合大多數網站要求的組成規則。

亂數來自瀏覽器的密碼學安全產生器,而不是 Math.random。字元以拒絕取樣(rejection sampling)的方式挑選,因此字元池中每個字元出現的機率完全相同,不會偏向字母表的前段。

使用方式

  1. 選擇 長度。標籤會顯示目前設定下單一密碼的熵。
  2. 選擇一次要產生的 數量。
  3. 開啟或關閉各個字元集。如果密碼需要手動唸出或輸入,請開啟 排除易混淆字元。
  4. 按 產生 取得一批新密碼,接著複製其中一行或下載整份清單。

什麼樣的密碼才夠強

長度比複雜度更重要。使用全部 94 個可列印 ASCII 字元的 16 字元密碼,約有 104 位元的熵;即使每秒猜一兆次,試遍所有組合所需的時間也遠遠超過宇宙的年齡。加了符號的短密碼,反而比只有字母的長密碼更弱。

同樣重要的是:每個網站都使用不同的密碼,並交給密碼管理器保管。大多數帳號被盜都是因為其他網站外洩後密碼被重複使用,而不是被猜中。

範例

使用預設設定(16 個字元、所有字元集)時,會得到像這樣的密碼:

q7#Lm2^vR!xP9tGd
Wz$4kN8@hE&c3uJy

每次產生的結果都不同;這裡的範例僅供說明,請不要使用它們。

常見問題

› 密碼是在伺服器上產生的嗎?

不是。密碼是在你的瀏覽器中,透過 Web Crypto API(crypto.getRandomValues)這個密碼學安全的亂數產生器建立的。不會經由網路傳送,也不會被儲存。

› 密碼應該設多長?

由密碼管理器保管的帳號,使用四種字元集、16 個字元以上就很足夠(超過 100 位元熵)。主密碼或磁碟加密金鑰則建議 20 個字元以上。

› 「位元熵」是什麼意思?

它衡量攻擊者需要猜幾次:每多 1 位元,破解工作量就加倍。計算方式是 長度 × log2(可用字元數)。80 位元足以抵擋線上攻擊和大多數離線攻擊;100 位元以上則遠超過任何實際可行的暴力破解。

› 為什麼要排除易混淆字元?

像 0 和 O,或 1、l 和 I 這些字元,在唸出密碼或照著紙本輸入時很難分辨。排除它們會損失一點熵,把密碼稍微加長就能補回來。