強密碼產生器

直接在瀏覽器中建立強大且完全隨機的密碼——完全掌控字元類型,且密碼絕對不會離開您的裝置。

按下產生以抽選
進階選項
編輯上方的行以使用自訂字元。 每一行都視為一種獨立的字元類型。

一組強大且獨一無二的密碼是任何線上帳號能獲得的最廉價防禦——而您通常會在不太方便的時候急需一組密碼:設定新的工作登入、網路銀行強制要求重設、剛拆封的全新路由器,或是當您終於決定改用密碼管理員(password manager)時。這個免費的強密碼產生器只需點擊一下,就能建立出完全隨機的密碼。將「長度」設定為您需要的大小,挑選要包含的字元類型——大寫與小寫字母、數字、基本符號(%$#@!?&)以及複雜符號(.,;[]()^-_=+{}:<>|)——然後按下「產生」。

由於安全性是核心目的,因此該產生器建立於 Web Crypto API(crypto.getRandomValues)之上,它所提取的數值來自與 TLS 和其他對安全要求極高的作業相同的、受密碼學保護的系統級隨機來源。與基於 Math.random() 或其他可預測的偽隨機函數所建構的產生器不同,它的設計確保了攻擊者即使看見一個結果,也無法推斷出下一個密碼是什麼。整個產生過程完全在您的裝置上進行:密碼絕不會傳送到伺服器、絕不會被記錄,我們也絕對看不到——沒有任何資料會被中途攔截,也沒有任何東西供我們儲存。

豐富的選項使其能輕鬆符合任何網站的密碼原則。每一組產生的密碼都保證包含您所選的每種字元類型至少一個——因此像「必須包含一個大寫字母和一個數字」這種要求會自動達成——並且「確保每種字元類型數量大致相等」預設處於開啟狀態,這樣就不會有單一類別的字元佔據壓倒性的比例。為了獲得最大強度,您可以開啟符號;對於拒絕符號的舊版系統,則可以將其關閉。「排除易混淆字元」開關會移除人們最常看錯的字元(Il1O0o)。

需要多組密碼,或是遇到了不尋常的原則要求?您可以設定「數量」以一次建立一整份清單——最多可達 100 組密碼,例如在為團隊建立帳號時——而一旦數量大於 1,「輸出格式」將決定它們的排列方式:「換行」、「以空格分隔」或「以逗號分隔」。其餘功能都在「進階選項」下。關閉「排除同一組密碼中的重複字元」即可允許同一個字元出現多次。雖然本產生器無法直接包含中文字元,但它支援了其他 35 種語言的特殊字母——從烏克蘭語、希臘語和塞爾維亞語,到波蘭語、土耳其語和越南語。為了獲得完全的控制權,「字元集(每行一個)」允許您定義自己的字元庫:每一行都會成為一個獨立的字元類別,供產生器從中隨機抽取。

為什麼選擇這個密碼產生器?

這種隨機性是如何產生的?您的作業系統會持續收集熵(entropy)——也就是來自硬體事件的不可預測雜訊——並將其輸入到一個安全加密的亂數產生器中。當您按下「產生」時,頁面的 JavaScript 會透過 crypto.getRandomValues 向瀏覽器請求隨機值,將它們對映到您選擇的字元類別上,檢查每種類別的代表是否都存在,然後組裝出密碼。這裡沒有可供猜測的種子(seed),沒有可讓專門的密碼破解硬體用來重播的演算法捷徑,任何步驟中也都沒有網路請求——整個流程只在您的裝置上執行。

在結果下方,您會看到以位元為單位的熵值估算——這是衡量密碼強度的標準:對於日常帳號來說 60+ 位元是合理的,80+ 算得上強大,而 100+ 則已超出了當今硬體進行暴力破解(brute force)的實際能力範圍。養成兩個習慣比什麼都重要。第一,長度勝過複雜性:對於任何重要的帳號,請使用 16 個以上字元——每增加一個字元,攻擊者的破解工作量就會成倍增長,速度遠超再增加一種符號類別。第二,唯一性:當某個網站遭受資料外洩(data breach)時,外洩的登入憑證會立刻被拿到其他服務上嘗試——這被稱為撞庫(credential stuffing)攻擊——因此,即使只是重複使用了一組密碼,也可能讓一次單一的外洩演變成全面的帳號劫持。為每個帳號產生一組獨立的密碼,將它們保存在密碼管理員中,並在所有提供該功能的地方啟用雙重驗證(2FA)。另外,如果一組真正隨機的密碼包含了一個重複的字元或者一小段看似可讀的片段,也不要感到驚訝——真正的隨機性總是會產生這樣的序列,並且它們絲毫不會讓密碼變得脆弱。

FAQ

線上產生密碼安全嗎?

使用這個工具的話,是的。密碼完全在您的瀏覽器中使用 Web Crypto API 建立,並且永遠不會傳輸到任何地方:在產生過程中不會發起任何伺服器請求,因此無論對於我們——還是中間的任何人——都沒有任何東西可以攔截或儲存。

我的密碼應該有多長?

請使用至少 12 個字元;對於任何重要的帳號,建議使用 16 個或更多字元。長度勝過複雜性:每一個額外的字元都會使攻擊者必須嘗試的組合數量成倍增加。

隨機密碼真的比我自己編的密碼好嗎?

是的。人類編造的密碼往往遵循可預測的習慣——字典單字、名字、日期、像 qwerty123 這樣的鍵盤滑動路徑——而破解工具首先嘗試的正是這些模式。隨機產生的密碼沒有這種結構,因此攻擊者就只剩下暴力破解這一條路,而對於 16 個字元的隨機密碼來說,這實際上是不可能完成的。

結果下方的熵值(bits)意味著什麼?

熵評估的是密碼有多麼難以預測。粗略地說:60+ 位元 對於日常帳號是合理的,80+ 算得上強大,而 100+ 則超出了當前硬體進行暴力破解的實際能力範圍。

「排除易混淆字元」選項有什麼作用?

它會移除那些容易相互混淆的字元——大寫 I、小寫 l、數字 1、大寫 O、數字 0 和小寫 o。當密碼需要被大聲朗讀、列印出來或者從紙上照著輸入時,請使用該選項。

我可以用我自己的字元來建立完全自訂的密碼嗎?

可以。展開「進階選項」並使用「字元集(每行一個)」來定義您自己的集合。每一行都會成為一個單獨的字元類別,這樣您就能要求從每個群組中提取特定的字元——這非常適合滿足那些不尋常的網站要求。

我可以包含我自己語言的字母嗎?

可以,不過這項功能支援的是 35 種其他語言。雖然這不包括中文字元,但如果您需要使用非拉丁字母(如西里爾字母、希臘字母或亞美尼亞字母),或者像波蘭語、丹麥語、土耳其語及越南語中那樣帶有附加符號的拉丁字母,您可以使用「字元集(每行一個)」來手動加入這些語言的特定字元。

為什麼每組密碼都一定包含一個數字和一個大寫字母?

因為產生器保證從您選擇的每一個類別中至少提取一個字元,所以結果始終能滿足諸如「必須包含一個大寫字母和一個數字」等典型的網站要求。只需取消勾選某個類別,即可將其完全排除。

我是不是應該使用密碼短語(passphrase)而不是密碼?

當您必須記住或手動輸入一個秘密時,比如作為密碼管理員的主密碼,密碼短語(由幾個隨機單字組成,如 diceware 方法)是非常好的選擇。而對於保存在管理員內部的所有東西,一組 16+ 字元的隨機密碼在強度上至少是同等的。兩者結合使用吧:為管理員設定一組強大的密碼短語,為其他所有帳號設定隨機密碼。

我應該多久換一次密碼?

現代的安全指南不再建議按固定時間表定期更改密碼——強制性的輪換往往導致人們編造出更弱的、可預測的變體。只有在有理由的時候才更改密碼:比如服務發生外洩、遭遇網路釣魚威脅、或者是一個共用帳號。真正重要的是每個帳號都有其自己長且隨機的密碼。

你們會儲存或看到我產生的密碼嗎?

不會。產生過程在您的裝置上本地執行,結果絕不會離開您的瀏覽器。我們在技術上根本沒有能力查看、記錄或儲存您的密碼。