雜湊產生器

即時運算 MD5、SHA-1、SHA-256、SHA-384、SHA-512 雜湊值,全程在瀏覽器端執行。

在上方選擇 SHA-256、SHA-512、SHA-1、SHA-384 或 MD5 演算法,貼上或輸入文字,雜湊值會即時顯示。SHA 系列由瀏覽器內建的 Web Crypto API(crypto.subtle.digest)運算,MD5 則以 spark-md5 在瀏覽器端計算。所有運算都在本機完成,不送出任何資料到伺服器;輸入為空時顯示提示而非空字串的雜湊值,避免混淆。

SHA-256 — Web Crypto API, runs entirely in your browser.

如何產生密碼學雜湊值

  1. 1

    選擇演算法

    從 SHA-256、SHA-512、SHA-1、SHA-384、MD5 中擇一。需要安全性(完整性核對、數位簽章)時建議用 SHA-256 或 SHA-512;MD5 僅適合非安全用途的檢查碼。

  2. 2

    輸入或貼上內容

    在輸入框中鍵入任何文字,雜湊摘要會隨每次按鍵即時更新。SHA 系列使用瀏覽器的 SubtleCrypto.digest(),MD5 則完全由 spark-md5 在瀏覽器端運算。

  3. 3

    複製雜湊結果

    按「複製」按鈕即可把十六進位摘要複製到剪貼簿。輸出為小寫十六進位字串,可直接貼進程式碼、終端機或比對工具。

  4. 4

    驗證或比對

    要驗證檔案完整性時,用對方使用的相同演算法計算內容雜湊,再把兩串十六進位值逐字比對。輸入只要差一個位元,產生的摘要就會完全不同。

雜湊產生器常見問題

SHA-256 和 SHA2-256 一樣嗎?兩者有什麼差別?
兩者完全相同。SHA-2 是這個雜湊家族的總稱,SHA-256 是其中輸出 256 位元的版本,所以「SHA2-256」「SHA-2 256」「SHA-256」指的都是同一個演算法,只是寫法不同。要注意 SHA-256 和 SHA3-256 才是不同的演算法:SHA-3 採用 Keccak 海綿結構,與 SHA-2 的內部設計完全不同,輸出雖同為 256 位元但數值並不相通。
SHA-1 和 SHA-256 有什麼差別?該用哪一個?
SHA-1 輸出 160 位元(40 個十六進位字元),SHA-256 輸出 256 位元(64 個字元)。SHA-1 已在 2017 年被證實可製造碰撞,Google 等業界自 2017 年起陸續停用,不應再用於簽章或安全驗證。需要安全性(完整性驗證、數位簽章、TLS)時請一律選 SHA-256 或 SHA-512;SHA-1 僅適用於相容舊系統的非安全用途。
如何線上產生 MD5 或 SHA-256 雜湊值?
在上方演算法選單選擇 MD5 或 SHA-256,把文字貼進輸入框,摘要會即時算出並顯示,再按「複製」就能取得十六進位字串。整個過程在瀏覽器端完成,不必安裝任何軟體,也不會上傳你的內容。
在 Linux 或命令列要怎麼產生 MD5 值?
本工具產生的是文字的雜湊值;若要對檔案計算,可在終端機使用內建指令:MD5 用 md5sum 檔名(macOS 為 md5 檔名),SHA-256 用 sha256sum 檔名。把指令輸出的十六進位字串和本工具或下載來源提供的值逐字比對即可驗證。針對檔案的瀏覽器端雜湊可用 File API 實作,未來版本可能加入。
.md5 檔案是什麼?md5_digest_length(摘要長度)是多少?
「.md5」通常是一個純文字檔,裡面存放某個檔案的 MD5 雜湊值,用來在下載後核對檔案是否完整、未遭竄改。MD5 的摘要長度固定為 128 位元,也就是 16 個位元組、32 個十六進位字元;不論輸入多長,輸出長度都一樣。例如 MD5('hello') = 5d41402abc4b2a76b9719d911017c592。
可以做加鹽(salt)或 bcrypt 那種密碼雜湊嗎?
本工具計算的是純粹的演算法摘要,不含加鹽,適合做檔案完整性核對與一般雜湊比對。若是要儲存使用者密碼,請勿直接用 MD5 或 SHA-256,而應使用 bcrypt、scrypt 或 Argon2 這類專為密碼設計、內建加鹽且刻意放慢運算的演算法,才能抵抗暴力破解與彩虹表攻擊。

參考資料

相關開發工具