線上產生的密碼安全嗎?看懂亂數來源,以及長度為什麼比複雜度重要

用網頁產生密碼會不會被記錄下來?說明密碼在哪裡產生、什麼樣的亂數才算安全,以及為什麼「16 位純字母」通常比「8 位混symbol」更難破解,還有排除易混淆字元的實際用途。

本文介紹的工具:密碼產生器

用網頁產生密碼,最合理的疑慮是:這組密碼會不會被對方記下來?

這個問題有明確的答案,取決於密碼是在哪裡產生的

關鍵在「密碼有沒有離開你的電腦」

有兩種做法:

  • 伺服器產生:你按下按鈕,網站在自己的主機上算出密碼再傳給你。對方理論上看得到你拿到什麼
  • 瀏覽器產生:密碼在你自己的電腦上算出來,全程沒有送出去

密碼產生器 屬於後者——密碼在你的瀏覽器裡產生,不會傳到任何伺服器。你可以在斷網的情況下測試:拔掉網路,頁面照樣能產生密碼。

亂數品質也有差別

同樣是「隨機」,來源不一樣:

  • 一般的隨機函式(程式語言內建的那種)是可預測的偽隨機,設計目的是速度不是安全。拿來產生密碼並不恰當
  • 瀏覽器另外提供加密等級的亂數來源,專為金鑰、密碼這類用途設計

本工具用的是後者。這件事從外觀看不出來,但它決定了產出的密碼是不是真的難以猜測。

長度比你想的更重要

很多網站規定「必須包含大小寫、數字、符號」,讓人以為複雜度最重要。實際上:

每多一個字元,破解難度是倍數成長;而字元種類只是把基數變大。

密碼 難度來源
8 位、四種字元都有 基數大但太短
16 位、只有英文字母 通常遠比上面更難破解

實務建議:

  • 長度至少 16(本工具預設就是 16,可以再往上調)
  • 網站有規定就依規定加符號,但不要為了加符號而縮短長度
  • 重要帳號直接用更長的,反正是複製貼上,長一點不影響你

「排除易混淆字元」什麼時候該開

有個選項是排除長得像的字元,例如數字 0 與字母 O、數字 1 與字母 l。

  • 需要用看的、用手打的密碼 → 建議開啟。例如要印出來交給同事、要在電視盒或印表機上用遙控器輸入
  • 只在密碼管理員裡複製貼上 → 不用開,讓字元集越大越好

產生之後怎麼保管

這是整件事最脆弱的一環:再強的密碼,記在便條紙或存在通訊軟體裡都沒有意義

  • 用密碼管理員保存
  • 每個網站用不同密碼——這比密碼多強更重要。單一網站外洩時,共用密碼會讓所有帳號一起淪陷
  • 重要帳號一律加開兩步驟驗證

常見問題

產生的密碼會被記錄嗎?

不會。密碼在你的瀏覽器裡產生,沒有送到伺服器,網站端不存在這筆資料。

重新整理會拿到一樣的密碼嗎?

不會,每次都是重新產生的。所以產生後要先複製保存,離開頁面就找不回來了。

產生器可以離線使用嗎?

可以。斷網狀態下頁面照樣能運作,這也反過來證明了密碼確實是在本機產生的。

密碼強度顯示要看到什麼程度才夠?

強度指示是參考用的綜合評分(長度與字元種類),長度足夠時自然會落在高分區。與其追求滿分,不如確保長度夠、而且每個網站都不同。

相關工具