使用各種算法生成密碼哈希。支援MD5、SHA1、SHA256、SHA512等。
工具功能
- 多種雜湊演算法: 支援 MD5、SHA1、SHA256、SHA512、bcrypt 等流行雜湊演算法
- 即時生成: 實時生成密碼雜湊,立即獲得結果
- 安全私密: 所有雜湊操作都在瀏覽器本地執行,確保最高安全性
- 一鍵複製: 單擊即可將生成的雜湊複製到剪貼板
使用方法
- 第一步:輸入密碼: 在輸入框中鍵入或粘貼要哈希的密碼
- 第二步:選擇算法: 選擇您首選的哈希算法(MD5、SHA256、bcrypt 等)
- 第三步:複製哈希: 點擊複製按鈕將生成的哈希保存到剪貼板
生成原理
密碼雜湊基礎和演算法選擇
密碼雜湊使用密碼學雜湊函數將密碼轉換為固定長度的字串,使其不可逆以實現安全儲存。該工具支援多種演算法:傳統雜湊(MD5、SHA-1 - 已棄用)、SHA-2家族(SHA-256、SHA-512 - 適合一般使用)以及自適應雜湊(bcrypt、scrypt、Argon2 - 推薦用於密碼)。每種演算法提供不同的安全級別和效能特徵。現代密碼雜湊需要鹽值(雜湊前新增的隨機數據)來防止彩虹表攻擊,以及具有可配置工作因子的金鑰派生函數(KDF)來抵抗暴力攻擊。該工具演示跨演算法的雜湊生成,比較輸出格式,並根據使用場景提供安全建議。
鹽值、胡椒和金鑰拉伸技術
安全的密碼儲存需要基本雜湊之外的額外保護措施。鹽值是在雜湊前新增到每個密碼的唯一隨機數據,防止相同密碼產生相同雜湊並擊敗彩虹表攻擊。胡椒是新增到所有密碼的秘密金鑰(與雜湊分開儲存)提供額外安全層。金鑰拉伸迭代應用雜湊函數(數千輪)增加攻擊者的計算成本。該工具使用密碼學安全的隨機源實現適當的鹽值生成,支援bcrypt/PBKDF2的可配置迭代計數,並演示工作因子對雜湊生成時間的影響。進階功能包括鹽值長度建議(16+位元組)、迭代計數指導(PBKDF2為100,000+)以及雜湊速度與攻擊抵抗力之間的安全權衡。
安全最佳實踐和攻擊防護
密碼雜湊安全涉及多個防禦層:永不儲存明文密碼,使用強雜湊演算法(推薦bcrypt、Argon2、scrypt),實現適當的鹽值管理,選擇平衡安全性和效能的適當工作因子。該工具教育常見攻擊:彩虹表攻擊(被鹽值擊敗)、字典攻擊(被金鑰拉伸減慢)、時序攻擊(透過恆定時間比較防止)以及基於GPU的暴力破解(被像Argon2這樣的記憶體困難函數抵抗)。安全建議包括演算法遷移策略(從MD5/SHA-1到現代替代方案)、密碼策略執行、安全雜湊儲存實踐以及符合安全標準(OWASP、NIST指南)。進階功能包括雜湊強度比較、攻擊成本計算以及生產密碼系統的實施指導。
常見問題
- 密碼儲存應該使用哪種雜湊演算法?
- 對於生產系統中的密碼儲存,使用自適應演算法如 bcrypt、Argon2 或 scrypt - 永遠不要使用 MD5 或 SHA-1。這些自適應演算法專為密碼設計,內建鹽值支援和可配置的工作因子,可減緩暴力攻擊。OWASP 推薦 Argon2 作為首選(2015年密碼雜湊競賽獲勝者),其次是 scrypt 和 bcrypt。避免對密碼使用快速演算法(MD5、SHA-256),因為它們使現代 GPU 能夠進行快速暴力攻擊。
- 什麼是鹽值,為什麼密碼雜湊需要它?
- 鹽值是在雜湊前新增到每個密碼的隨機資料(通常16+位元組)。沒有鹽值,相同的密碼會產生相同的雜湊,導致彩虹表攻擊(預計算雜湊資料庫)。鹽值確保即使密碼相同,每個密碼也獲得唯一的雜湊。鹽值應該:密碼學隨機(使用安全 RNG)、每個密碼唯一(從不重用)、與雜湊一起儲存(不是秘密)以及足夠長(128+位元)。像 bcrypt 這樣的現代演算法會自動處理鹽值。
- 如何針對儲存的雜湊驗證密碼?
- 驗證密碼的步驟:1) 從資料庫檢索儲存的雜湊和鹽值,2) 使用相同的演算法、鹽值和參數對使用者提供的密碼進行雜湊,3) 使用恆定時間比較將新產生的雜湊與儲存的雜湊進行比較(以防止時序攻擊)。永遠不要解密或反轉雜湊 - 雜湊在設計上是單向的。對於 bcrypt/scrypt/Argon2,使用其內建的驗證函數,它們會安全地處理鹽值提取和比較。
- 在瀏覽器中雜湊密碼是否安全?
- 僅在瀏覽器(用戶端)雜湊密碼對於身分驗證不安全。如果伺服器只儲存用戶端雜湊的密碼,竊取資料庫的攻擊者可以直接使用被盜雜湊進行身分驗證(傳遞雜湊攻擊)。最佳實踐:在透過 HTTPS 接收密碼後,在伺服器上使用 bcrypt/Argon2 進行雜湊。可選的用戶端雜湊可以增加縱深防禦(防止伺服器看到明文),但具有適當鹽值和工作因子的伺服器端雜湊仍然必不可少。始終使用 HTTPS 保護傳輸中的密碼。
相關文件
- NIST - 加密標準 - NIST官方加密標準和指南
- OWASP - 加密儲存 - 安全加密儲存最佳實踐
- MDN - Web 加密 API - 瀏覽器加密API用於安全操作
- OWASP - 密碼儲存指南 - 安全密碼儲存的最佳實踐
- RFC 5246 - TLS 協定 - 傳輸層安全協定規範