密碼產生器

立即產生強隨機密碼。

免費安全密碼產生器

弱密碼是最簡單的攻擊媒介。 Dokall 產生具有可設定長度、大寫、小寫、數字和符號的加密隨機密碼。

使用它來建立帳户密碼、API 測試憑證或臨時存取令牌。生成完全在您的瀏覽器中運行 - 密碼永遠不會發送到任何伺服器。

怎樣才算強密碼?

強密碼是指在合理時間內無法被猜出或破解的密碼。強度取決於兩個因素:長度和字符多樣性。

僅使用小寫字母(每位 26 種可能)的 12 位密碼有 26^12 種組合——約 95 萬億。同時使用小寫、大寫、數字和符號(每位約 95 種字符)的 12 位密碼有 95^12 種組合——約 540 千垓。後者破解難度高出 50 億倍以上。

不過,長度比複雜度更重要。20 位純小寫密碼(26^20)遠強於包含全部字符類型的 12 位密碼(95^12)。這也是現代安全建議更推崇長口令短語、而非短而複雜密碼的原因。

密碼熵值説明

熵以比特為單位衡量密碼的隨機性。具有 n 比特熵的密碼有 2^n 種可能組合。比特越多,越難破解。

一個隨機小寫字母約增加 4.7 比特熵(log2(26))。來自全部可列印 ASCII 字符集的隨機字符約增加 6.6 比特(log2(95))。來自完整字符集的 16 位隨機密碼約有 105 比特熵——遠超當前技術下暴力破解所能達到的範圍。

關鍵在於:這假定密碼是真正隨機的。若用户選擇看似隨機的密碼如 Tr0ub4dor&3,實際熵會低得多,因為它遵循可預測的替換模式(o 變 0、a 變 4),密碼破解工具會專門嘗試這些模式。只有密碼學安全的隨機生成才能達到完整的理論熵。

密碼與口令短語

像 correct-horse-battery-staple 這樣的口令短語,使用由分隔符隔開的隨機詞典單詞。在 7,776 詞詞典(標準 Diceware 列表)下,四個隨機單詞約提供 51 比特熵;六個單詞約 77 比特。

同等強度下,口令短語比隨機字符串更易輸入和記憶。四個單詞組成的 25 字符口令短語,比 12 位隨機字符串更實用,即便後者可能有更高的每字符熵。

對保存在密碼管理器中、從不手動輸入的密碼,最大熵的隨機字符串最理想——你無需記住它們。對需要經常輸入的密碼(設備登錄、主密碼),使用 5–6 個隨機單詞的長口令短語,是安全與可用性的良好平衡。

常見密碼錯誤

跨站點複用密碼是危害最大的錯誤。一旦某個站點被攻破,攻擊者會用相同憑據嘗試銀行、郵箱和社交媒體賬户(憑據填充)。密碼管理器可為每個賬户生成唯一密碼,從而消除這一風險。

使用個人資訊(生日、寵物名、地址)會使密碼易受定向攻擊。社交媒體資料往往恰好包含人們寫進密碼的資訊。

可預測模式——末尾加數字、用 @ 代替 a、只大寫首字母——破解者非常熟悉。這些替換幾乎不增加安全性。若基礎詞在詞典中,替換後的版本也很可能出現在破解詞表裏。

把密碼寫在便籤上、在聊天中分享或通過郵件發送,都會帶來密碼強度無法彌補的風險。請使用密碼管理器安全地共享憑據。

安全存儲密碼(面向開發者)

切勿以明文存儲密碼。使用專為密碼存儲設計的慢速加鹽哈希算法:bcrypt、scrypt 或 Argon2id。這些算法故意設計為緩慢,即使哈希庫被盜,暴力破解也變得不切實際。

SHA-256、MD5 等快速哈希不適合密碼。現代 GPU 每秒可計算數十億次 SHA-256 哈希,多數密碼幾小時內即可破解。成本因子為 12 的 bcrypt 可將攻擊者限制在每塊 GPU 每秒數千次嘗試。

每個密碼務必使用唯一隨機鹽。鹽與哈希一併存儲(bcrypt 會自動包含)。不加鹽時,相同密碼產生相同哈希,攻擊者可用預計算彩虹表一次破解所有實例。

設定最小密碼長度(NIST 建議至少 8 個字符,12+ 更好),並對照已泄露密碼列表檢查(Have I Been Pwned API 可提供)。避免將最大長度限制設在 64 字符以下,也避免強制組合規則(必須含符號、大寫等)——它們煩擾用户,卻不能真正提升安全性。

常見問題

密碼應該多長?
對有速率限制保護的賬户(多數在線服務),至少 12 個字符。對保護高價值目標或離線加密的密碼(攻擊者可無限猜測),使用 16+ 隨機字符或 5–6 詞口令短語。NIST 目前建議最少 8 個字符,但多數安全專家建議 12+。
隨機密碼比口令短語更好嗎?
在合適長度下兩者可以同樣安全。16 位隨機密碼約有 105 比特熵;6 詞 Diceware 口令短語約有 77 比特。對存在管理器中、從不手動輸入的密碼,隨機字符串最理想。對經常輸入的密碼,口令短語更易記憶和輸入,安全性也相當。
在線生成密碼安全嗎?
Dokall 使用 Web Crypto API(crypto.getRandomValues)完全在瀏覽器中生成密碼。密碼不會發送到任何服務器,也不會被存儲。隨機性來自操作系統的密碼學隨機數生成器,與密碼管理器和安全工具使用的來源相同。
密碼裏應該使用特殊字符嗎?
特殊字符將字符集從約 62(字母 + 數字)擴大到約 95(加上符號),每個字符約增加 0.6 比特熵。這有幫助,但多加 2–3 個字符長度也能獲得相同收益,且可用性更好。若使用密碼管理器,可包含符號,因為你無需輸入。若要自己輸入,更長且不含符號,與更短但含符號同樣有效。
多久應該更換一次密碼?
當前 NIST 指南(SP 800-63B)不建議強制定期更換密碼。頻繁更換會導致更弱的密碼(用户會選擇可預測的變體)。僅在有泄露證據時更換——數據泄露通知、可疑賬户活動,或與不再需要訪問的人共享了憑據。
什麼是密碼熵?
熵以比特為單位衡量密碼的隨機性。具有 n 比特熵的密碼有 2^n 種可能組合。來自 95 個可列印 ASCII 字符的真正隨機 8 位密碼約有 52.6 比特。熵越高,越能抵抗暴力破解。每多一比特,攻擊者需嘗試的組合數就翻倍。
密碼管理器如何工作?
密碼管理器將所有密碼存儲在加密保險庫中,由一個主密碼保護。保險庫使用由主密碼經慢速哈希算法(PBKDF2、Argon2)派生的密鑰加密。你只需記住主密碼——管理器會為每個網站生成、存儲並自動填充唯一的隨機密碼。