← 全部工具

MD5/SHA-256 雜湊產生器

一句話說明: 雜湊把任意長度的資料算成一段固定長度的「指紋」,內容只要差一個字,指紋就完全不同;它用來比對資料,不是加密,也不能還原。

隱私:全部在你的瀏覽器裡計算,不會送到伺服器。檔案也只在本機讀取。

查核日期 2026-10-21 · 回報錯誤

互動工具需要 JavaScript。下方的公式、範例與說明不需要 JavaScript 也能閱讀。

雜湊是什麼

雜湊函式(hash function)讀進一份資料,輸出一段固定長度的值,叫做雜湊值或摘要(digest)。它有三個特性:

  • 同樣的輸入,永遠得到同樣的輸出。
  • 輸入改一點點,輸出幾乎全變。
  • 從輸出推不回輸入。這是單向的,所以雜湊不是加密,也沒有「解密」。

本工具提供兩種演算法:

演算法輸出長度十六進位字數現在還能用在哪
MD5(RFC 1321)128 位元32 字只適合檢查意外損壞、快取鍵、去重複。不適合任何安全用途。
SHA-256(FIPS 180-4)256 位元64 字檔案完整性、數位簽章的一部分、內容定址。目前仍被視為安全。

MD5 已經不安全。 研究者已能刻意做出兩份不同、但 MD5 相同的檔案(碰撞)。RFC 6151 明寫:需要抗碰撞的場合(例如數位簽章),MD5 已不可接受。

不要拿 MD5(也不要拿單純的 SHA-256)存密碼。 這兩種演算法都設計成「算得很快」,攻擊者每秒能猜非常多次。存密碼請用專門的密碼雜湊,例如 Argon2id、bcrypt、scrypt。OWASP 密碼儲存指南建議優先用 Argon2id;舊系統用 bcrypt 時,工作因子至少 10。

使用情境

  1. 確認下載的檔案沒被改過、沒有損壞。 軟體官網常公布 SHA-256 值。把下載的檔案拖進來,比對兩串字是否完全相同。
  2. 比對兩份資料是否完全一樣。 兩個大檔案或兩段長文字,比雜湊值比逐字比對快。雜湊不同,內容一定不同。
  3. 除錯 API 簽章或快取鍵。 很多系統用雜湊值當快取鍵或 ETag。輸入同一段字,看自己的程式算出的值和工具是否一致,就能找出多了換行或編碼不同的問題。

範例

文字一律先轉成 UTF-8 位元組再計算。

輸入MD5SHA-256
abc900150983cd24fb0d6963f7d28e17f72ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
hello5d41402abc4b2a76b9719d911017c5922cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
hello 加一個換行b1946ac92492d2347c6235b4d26111845891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
Hello(大寫 H)8b1a9953c4611296a827abf8c47804d7185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
空字串d41d8cd98f00b204e9800998ecf8427ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

abc 的兩個值是公開的標準測試值:MD5 見 RFC 1321 附錄 A.5,SHA-256 見 RFC 6234 第 8.5 節。可以用來確認你的程式算得對不對。

常見錯誤

  1. 用 MD5 或 SHA-256 存密碼。 這是最嚴重的錯誤。資料庫外洩後,常見密碼的雜湊值可以用預先算好的表直接查出原文。請改用 Argon2id 或 bcrypt,它們會自動加鹽(salt,每個使用者不同的隨機值)並刻意算得慢。
  2. 多了一個換行。 在終端機用 echo "hello" | md5 算,echo 會在結尾加換行,結果是 hello\n 的值,不是 hello 的值。上面範例表第 2、3 行就是這個差別。
  3. 大小寫或前後空白不同。 Hello 和 hello 的雜湊完全不同。從網頁複製時,前後常夾帶空白。
  4. 文字編碼不同。 同一個中文字,UTF-8 和 Big5 的位元組不同,雜湊也不同。本工具一律用 UTF-8。
  5. 以為雜湊可以「解密」。 雜湊是單向的,沒有解密。網路上所謂的「MD5 解密」,其實是拿常見字串的雜湊表去比對,只對弱密碼有效。這也正是不能用 MD5 存密碼的原因。

常見問題(FAQ)

MD5 還能用嗎?
可以用在非安全用途,例如檢查檔案是否意外損壞、當快取鍵。不要用在任何需要防範攻擊者的地方,包括密碼、數位簽章、驗證檔案沒被惡意竄改。這些情況請用 SHA-256 或更新的演算法。
存密碼要用什麼?
用專門的密碼雜湊:Argon2id、bcrypt、scrypt。OWASP 建議優先用 Argon2id。不要用 MD5、SHA-1,也不要用單純的 SHA-256,它們都太快,容易被大量猜測。
雜湊可以還原成原文嗎?
不行。雜湊是單向函式,不是加密,沒有金鑰也沒有解密。只能拿猜測的原文去算,再比對結果是否相同。
為什麼我算的值和工具不一樣?
最常見的原因是輸入不完全相同:結尾多了換行、前後有空白、大小寫不同,或用了非 UTF-8 的編碼。先確認輸入的每個位元組都一樣。
我上傳的檔案會被送到伺服器嗎?
不會。檔案只在你的瀏覽器裡讀取與計算,不會上傳。SHA-256 使用瀏覽器內建的 Web Crypto 功能計算。

來源(查核日期 2026-10-21)