UltKit

雜湊值產生器

輸入文字或選擇檔案,即可並排取得 MD5、SHA-1、SHA-256、SHA-384 與 SHA-512 雜湊值,每個都有自己的複製按鈕。雜湊運算透過瀏覽器的 Web Crypto API 與本機 MD5 程式在您的裝置上執行,檔案完全不會上傳。

0 個字元 · 0 個字詞 · 0 行

MD5不適用於安全用途
—
SHA-1不適用於安全用途
—
SHA-256
—
SHA-384
—
SHA-512
—

0 個字元 · 0 個字詞 · 0 行

完全在此瀏覽器分頁中執行,您的文字不會被上傳或儲存。

摘要長度

長度與空輸入的摘要,是在建置本頁時以本頁自己的 MD5 與 Web Crypto API 計算的。

演算法摘要位元數十六進位長度區塊位元數狀態空輸入的雜湊值
MD512832512已破解:2004 年發現碰撞d41d8cd98f00b204e9800998ecf8427e
SHA-116040512已破解:2017 年展示碰撞da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-25625664512安全(SHA-2)e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-384384961024安全(SHA-2)38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
SHA-5125121281024安全(SHA-2)cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

五種演算法,其中兩種已不再安全

雜湊函數會把任意大小的輸入轉換成固定長度的「指紋」。只要改動一個字元,輸出約有一半的位元會翻轉,所以即使是 "UltKit" 與 "ultkit",產生的摘要也毫無關聯。MD5 由 Ron Rivest 於 1992 年在 RFC 1321 中發表,輸出 128 位元(32 個十六進位字元)。2004 年,王小雲等人證明可以構造出兩個不同的輸入,卻得到相同的 MD5 雜湊值;到了 2012 年,Flame 惡意程式利用 MD5 碰撞偽造了 Microsoft 的程式碼簽署憑證。SHA-1(160 位元)也步上後塵:2017 年 Google 與阿姆斯特丹 CWI 發表了第一個實際的碰撞 SHAttered。這兩者在此都標示為「不適用於安全用途」。

SHA-256、SHA-384 和 SHA-512 屬於 SHA-2 家族,由 NIST 在 FIPS 180-4 中制定,目前尚無已知的實用攻擊手法。SHA-256 是軟體下載、Git 較新的物件格式、TLS 憑證與比特幣的預設選擇。MD5 與 SHA-1 仍適用於沒有惡意對手的情境,例如發現意外損毀或檔案去重,這也是許多下載頁面仍列出它們的原因。

為什麼雜湊不等於加密

加密在設計上是可逆的:持有金鑰的人就能還原原始內容。雜湊沒有金鑰,也無法反推,因為有無數種輸入會對應到同一個摘要。但這不代表雜湊可以安全地保管機密。攻擊者看到短字串或常見輸入的 SHA-256 時,只要逐一雜湊候選內容直到吻合即可,而預先計算好的彩虹表更涵蓋了數十億個已知密碼。快速雜湊本來就是為了快而設計,現代 GPU 每秒可嘗試數十億次 SHA-256 猜測。

因此,儲存密碼請使用刻意設計得很慢、並加鹽的密碼雜湊,例如 Argon2、bcrypt 或 scrypt,切勿直接使用 MD5 或 SHA-256,密碼本身也建議用密碼產生器建立。本頁適合用在快速雜湊擅長的事:驗證下載的檔案是否與發佈者列出的檢查碼相符、不開啟檔案就比對兩個檔案,或檢查自己程式算出的摘要。文字會以 UTF-8 編碼、且不含結尾換行來計算雜湊,這通常就是結果與終端機中 echo "text" | sha256sum 不同的原因。開發者工具總覽頁則以同一份範例比較了雜湊與可逆編碼。

常見問題

如何用 SHA-256 檢查碼驗證下載的檔案?
用「雜湊檔案」選擇該檔案,再將 SHA-256 那一行與發佈者網站上的值比對。每個字元都必須一致;大寫十六進位只是改變 a 到 f 的顯示方式。
MD5 或 SHA-256 雜湊值可以解密嗎?
不行,因為根本沒有可以解密的東西。宣稱能還原雜湊的網站,其實是在已雜湊過的字串對照表中查詢摘要,只對短字串或常見輸入有效。
MD5 已被破解,為什麼還提供?
許多系統仍提供 MD5 檢查碼,用來偵測意外變動完全沒問題。它只有在面對能刻意構造碰撞檔案的攻擊者時才算被破解。
空字串的 MD5 雜湊值是什麼?
d41d8cd98f00b204e9800998ecf8427e。看到這個值通常表示程式雜湊的是空內容,例如檔案在計算雜湊前就載入失敗。
SHA-512 比 SHA-256 更安全嗎?
兩者都未被破解,且暴力破解遠遠不可行。SHA-512 的輸出較長,在 64 位元處理器上可能更快,但檢查碼與簽章較普遍預期使用的是 SHA-256。