字串雜湊一鍵批次計算・比較|MD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2id

只需輸入一個字串,即可同時計算 MD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2id 的雜湊值並並排比較。所有計算均在瀏覽器內完成,輸入內容不會發送到伺服器。

批次比較雜湊的小貼士

  • 無需逐個切換演算法頁面,即可一次性檢視同一輸入對應的 7 種雜湊值。
  • MD5・SHA-1 計算速度快但抗碰撞能力弱,目前不推薦用於密碼儲存,請僅用於檔案篡改檢測等輕量場景。
  • 在密碼儲存場景中,目前推薦使用可調節計算成本、並附帶鹽值的 BCrypt 或 Argon2id。
  • 點選每個雜湊值右側的按鈕即可一鍵複製,方便在多種演算法下進行功能驗證或寫入文件。

常見問題

不會。所有計算均在瀏覽器內的 JavaScript/WebAssembly 中完成,輸入字串及計算出的雜湊值都不會被發送到伺服器或進行儲存。

這是因為這兩種演算法每次計算時都會生成一個新的隨機鹽值並嵌入到雜湊結果中,因此即使輸入相同,每次的輸出也不同。這是符合規範的正確行為,也是防禦彩虹表攻擊的重要機制。

目前首選推薦Argon2id,其次是廣泛使用的BCrypt。MD5・SHA-1・SHA-256・SHA-512・SHA-3 計算速度過快,不適合單獨用於密碼儲存。

在密碼儲存、數字簽名等安全性要求較高的場景中不建議使用。但在檔案完整性校驗(檢測非人為的意外損壞)等不涉及惡意攻擊的輕量場景中,目前仍在使用。

如需調整 BCrypt 的成本系數,或 Argon2 的記憶體、迭代次數、並行度,請分別使用專用的BCrypt 雜湊Argon2 雜湊計算工具。
ツールくん

閒話 ― 為什麼雜湊函式需要按用途區分使用

MD5・SHA-1・SHA-256・SHA-512・SHA-3 雖然同屬"密碼學雜湊函式"這一類別,但由於設計的年代和目的不同,其安全水平其實存在巨大差異。MD5(1992年)和 SHA-1(1995年)都已被證實存在可實際利用的碰撞攻擊(即人為構造出兩個不同輸入卻產生相同雜湊值),因此在數字證書和數字簽名領域已被禁止使用;而 SHA-256・SHA-512・SHA-3 目前仍被認為是安全的,廣泛應用於區塊鏈和 TLS 證書等對安全性要求較高的場景。

然而,即便是 SHA-256 這樣"安全"的雜湊函式,也並不適合用於密碼儲存。這是因為這類函式被刻意設計得計算速度極快,一旦遭遇暴力破解或預先計算好的彩虹表攻擊,攻擊者便能在短時間內嘗試海量密碼組合。相比之下,BCrypt 和 Argon2 則反其道而行之,被刻意設計得"計算緩慢",其成本引數(BCrypt 的輪數、Argon2 的記憶體與迭代次數)還可以隨著硬體效能的提升而持續調高,這與前者追求速度的設計目標恰恰相反。

在這兩者之中,Argon2 是 2015 年密碼雜湊競賽(Password Hashing Competition)的冠軍演算法,其特點是具備可指定計算所需記憶體量的"記憶體困難性"。GPU、ASIC 等專為平行計算最佳化的硬體雖然擅長高速運算,但記憶體容量有限,因此大量消耗記憶體的 Argon2 對專用硬體發起的暴力破解攻擊的抵抗力被認為優於 BCrypt,這也是 OWASP 將其列為首選推薦演算法的原因。