免費安全密碼產生器
弱密碼是最簡單的攻擊媒介。 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 字符以下,也避免強制組合規則(必須含符號、大寫等)——它們煩擾用户,卻不能真正提升安全性。