MD4 哈希碼計算器
已發佈: 2025年2月16日 晚上10:53:42 [UTC]
雜湊碼計算器使用訊息摘要 4 (MD4) 雜湊函數根據文字輸入或檔案上傳計算雜湊碼。該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:
MD4 Hash Code Calculator
MD4 Hash Code Calculator
MD4(訊息摘要 4)是由 Ronald Rivest 於 1990 年設計的一種加密雜湊函數。 MD4 現在被認為是加密演算法的漏洞,因為它存在允許碰撞攻擊(找到產生相同雜湊值的兩個不同輸入)的漏洞,因此在設計新系統時不應使用它。它包含在這裡是為了以防需要產生向後相容的雜湊碼。
完全披露:我沒有寫此頁面上使用的哈希函數的具體實現。它是 PHP 程式語言中包含的標準函數。為了方便起見,我僅製作了 Web 介面以便在此公開發布。
關於 MD4 哈希演算法
我不是數學家,所以我將嘗試以非數學家同事能夠理解的方式來解釋這個哈希函數;-) 如果您更喜歡數學含量較高的解釋,那麼您可以在許多其他網站上找到它。
好的,那麼把 MD4 想像成一台特殊的碎紙機。但它並不是將紙張粉碎,而是將任何資訊(如信件、密碼或書籍)「粉碎」成固定尺寸的小收據。無論您的訊息有多長或多短,這台碎紙機總是會給您一張長度恰好為 16 位元組(128 位元)或十六進位形式的 32 個字元的小收據。
為了正確地粉碎訊息,您需要執行四個步驟:
步驟 1:準備訊息
- 在粉碎之前,您必須調整紙張以使其完全適合粉碎機。
- 如果您的資訊太短,您可以添加一些額外的空白區域(如塗鴉或填充物)以使紙張正好適合。
- 如果太長,可以將其分成多個相同大小的頁面。
步驟 2:新增秘密印章
- 調整訊息後,您可以在末尾添加一個秘密印章,表明原始訊息的長度。
- 這有助於碎紙機追蹤郵件的原始大小,無論您添加了多少填充物。
步驟 3:粉碎過程(3 輪魔法)
- 現在這訊息已經放進碎紙機了。
- 碎紙機有 4 個齒輪(A、B、C 和 D),它們以特殊的模式一起旋轉。
- 齒輪旋轉三圈,其作用如下:
- 混合詞語
- 將一些部分翻轉過來
- 像魔術方塊一樣旋轉它們
- 將不同的碎片粉碎在一起
- 每一輪都會使訊息看起來越來越雜亂,無法辨認。
第四步:最終收據
- 經過旋轉、翻轉和粉碎之後,碎紙機吐出一張收據——一串簡短的數字和字母(哈希值)。
- 無論您撕碎了一個單字還是整本書,這張收據的長度始終相同!
不幸的是,隨著時間的推移,人們發現這台神奇的碎紙機並不完美。一些聰明的人想出瞭如何欺騙碎紙機,讓其對兩條不同的信息給出同一張收據(這稱為碰撞),並預測齒輪將如何旋轉,然後用它來製作假收據。因此,MD4 不再被認為對於重要的東西是安全的。