免費轉換器

MD5雜湊 產生器

在瀏覽器中即時從文字或檔案產生MD5雜湊值。免費、私密,無需上傳。

關於此工具

MD5(訊息摘要 5)是 Ronald Rivest 於 1991 年發布的 128 位元加密雜湊函數。它接受任意長度的輸入並產生固定的 32 字元十六進位輸出,該輸出是確定性的(相同的輸入總是產生相同的雜湊值)並且是單向的,這意味著無法僅從雜湊值中恢復輸入。 MD5 是 20 世紀 90 年代和 2000 年代初占主導地位的通用雜湊函數,後來被用於加密目的的 SHA-2 系列函數取代。

MD5 已被破壞用於加密用途。自 2004 年以來,實際的碰撞攻擊(找到產生相同散列的兩個輸入)已經得到證實,現在可以在商用硬體上在數小時內實現選擇前綴碰撞。請勿將 MD5 用於密碼雜湊、數位簽章、憑證指紋或任何需要抗衝突的環境。 SHA-256 和 bcrypt 是合適的替代品。

MD5 對於防碰撞不是安全屬性的非加密校驗和仍然有用:偵測意外檔案損壞、在您控制的系統中刪除重複上傳以及為快取金鑰產生短標識符。此生成器使用 JavaScript MD5 實作完全在您的瀏覽器中運行;沒有輸入離開您的裝置。

為什麼要產生 MD5 哈希值

快速文件完整性檢查仍然是最可靠的 MD5 用例。當下載網站將 MD5 與文件一起發佈時,讀者可以驗證下載是否完好無損。該檢查可以防止傳輸錯誤,而不是惡意篡改(老練的攻擊者可以產生與任何選定的 MD5 相符的檔案),但對於隨意的完整性驗證來說,這是可以的。

MD5 也可用作確定性短標識符。快取層、重複資料刪除系統和 ETag 產生通常使用 MD5 對內容進行雜湊處理,因為結果很短、計算速度很快,而且對於非安全目的來說足夠好。新設計應該更喜歡 SHA-256 或 xxHash,但使用 MD5 作為識別碼的現有系統在這個角色中並不是不安全的。

使用方法

貼上文字或上傳文件,取得 32 個字元的十六進位雜湊值。

  1. 新增輸入: 貼上文字或上傳文件。哈希器接受任意輸入——字串、二進位、大型文件。
  2. 計算: MD5 演算法處理 512 位元區塊中的輸入,應用四輪非線性函數和模加法,並產生 128 位元摘要。此實作是在瀏覽器端進行的,典型輸入的運行時間為毫秒。
  3. 讀取哈希值: 輸出為 32 個十六進位字符,即 128 位元摘要的標準文字表示形式。複製它以供驗證或儲存。
  4. 與預期值進行比較: 如果您有已發布的參考哈希,請逐個字元進行比較。任何差異都意味著輸入不是您所期望的。

常見用例

技術細節

MD5 以 512 位元(64 位元組)區塊的形式處理輸入。每個區塊透過四輪操作更新 128 位元內部狀態。每輪應用不同的非線性函數、模加法和位元旋轉。最終狀態是摘要。

此演算法需要填充:輸入附加 1 位,然後附加 0 位,然後附加 64 位長度字段,以便總長度是 512 位的倍數。這確保每個輸入都具有唯一的長度前綴編碼。

輸出被解釋為小端順序的 16 個位元組,然後列印為 32 個十六進位字元。有些工具列印大寫,有些工具列印小寫;值是相等的。

最佳實踐

常見問題

我可以自訂生成的輸出嗎?
是的。該工具提供了各種自訂選項,可根據您的特定需求自訂輸出。在生成之前調整設置,或使用不同的選項重新生成。
產生的內容可以免費使用嗎?
是的。您使用此工具產生的所有內容都可以用於個人、教育或商業目的,沒有任何限製或歸屬要求。
這個需要帳號嗎?
不需要。該工具無需註冊、無需電子郵件、無需註冊即可立即使用。只需打開頁面並開始生成。
我的輸入資料是否保密?
是的。所有處理都發生在您的瀏覽器中。您的輸入資料和產生的輸出永遠不會發送到任何外部伺服器。
大寫或小寫十六進位正確嗎?
兩者是等價的。大多數實作預設生成小寫字母。比較應該不區分大小寫。
我的輸入是否上傳到伺服器?
不會。雜湊完全發生在您的瀏覽器中。
MD5 和 SHA-1 有什麼區別?
SHA-1 是一種不同的 160 位元雜湊函數。截至 2017 年,SHA-1 在加密用途方面也已被破壞。兩者對於非安全用途都是可接受的;當抗碰撞性很重要時,兩者都不應該使用。
兩個不同的輸入可以產生相同的MD5嗎?
是的——那是一次碰撞。隨機碰撞在天文上是不可能的,但故意構造的碰撞現在可以計算。