MD5雜湊 產生器
在瀏覽器中即時從文字或檔案產生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 也可用作確定性短標識符。快取層、重複資料刪除系統和 ETag 產生通常使用 MD5 對內容進行雜湊處理,因為結果很短、計算速度很快,而且對於非安全目的來說足夠好。新設計應該更喜歡 SHA-256 或 xxHash,但使用 MD5 作為識別碼的現有系統在這個角色中並不是不安全的。
貼上文字或上傳文件,取得 32 個字元的十六進位雜湊值。
MD5 以 512 位元(64 位元組)區塊的形式處理輸入。每個區塊透過四輪操作更新 128 位元內部狀態。每輪應用不同的非線性函數、模加法和位元旋轉。最終狀態是摘要。
此演算法需要填充:輸入附加 1 位,然後附加 0 位,然後附加 64 位長度字段,以便總長度是 512 位的倍數。這確保每個輸入都具有唯一的長度前綴編碼。
輸出被解釋為小端順序的 16 個位元組,然後列印為 32 個十六進位字元。有些工具列印大寫,有些工具列印小寫;值是相等的。