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

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

什麼是一鍵批次雜湊計算

本工具只需輸入一個字串,即可同時顯示 MD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2id 共 7 種雜湊演算法的計算結果,並排展示便於比較。無需在不同演算法頁面之間來回切換、重複輸入同一字串,即可一眼看出各演算法輸出長度和格式上的差異。

所有計算均在瀏覽器內的 JavaScript/WebAssembly 中完成,輸入的字串和計算出的雜湊值都不會發送到伺服器。BCrypt 和 Argon2id 每次都會使用隨機鹽值,因此每次執行結果都不同,這是符合規範的正確行為。

批次計算雜湊的使用方法

  1. 輸入字串 在輸入框中輸入需要計算雜湊的字串。
  2. 點選「一鍵計算」 點選按鈕後會同時執行 7 種演算法的計算。
  3. 對比計算結果 在表格中檢視各演算法的輸出,比較長度和格式的差異。
  4. 複製所需的雜湊值 點選每行的複製按鈕即可將雜湊值儲存到剪貼簿。

用好本工具的小技巧

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

使用場景

核對舊系統的雜湊值

想確認舊系統用 MD5 或 SHA-1 儲存的值,與新實作重新計算出的值是否一致時可以使用。

為新專案選擇演算法

在根據安全需求決定採用哪種演算法時,可以一邊對比實際輸出一邊進行判斷。

一次性準備多種校驗和格式

當分發檔案需要提供多種雜湊格式時,只需輸入一次即可全部取得。

用作密碼學學習和培訓素材

透過對比同一輸入在各演算法下產生的不同結果,直觀理解雜湊函式之間的差異。

術語集

鹽值(Salt)
在雜湊計算前加入輸入中的隨機值。它使相同的輸入每次都產生不同的雜湊值,從而防禦彩虹表攻擊。
抗碰撞性
指很難找到兩個不同的輸入產生相同雜湊值的性質。MD5・SHA-1 已被證實存在可實際利用的碰撞,因此被認為抗碰撞性較低。
金鑰延展
刻意重複或減慢雜湊計算過程,以增加暴力破解難度的方法,是 BCrypt 和 Argon2 的核心機制。
記憶體困難性
計算過程中需要佔用一定量記憶體的特性,可提高對 GPU 等專用硬體平行暴力破解攻擊的抵抗力,是 Argon2 的核心特點。
彩虹表
預先計算大量明文與雜湊值對應關係的表,用於快速從雜湊值反查出原始字串的攻擊手法。

常見問題

不會。所有計算均在瀏覽器內的 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 將其列為首選推薦演算法的原因。