MD4 哈希碼計算器
已發佈: 2025年2月16日 晚上10:53:42 [UTC]
最後更新: 2026年1月12日 上午9:07:47 [UTC]
該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:
MD4 Hash Code Calculator
MD4 Hash Code Calculator
MD4(訊息摘要演算法4)是羅納德·裡維斯特於1990年設計的一種加密雜湊函數。它能根據任意長度的輸入產生一個固定的128位元(16位元組)雜湊值。由於可利用碰撞攻擊(找到兩個產生相同雜湊值的不同輸入)的漏洞,MD4目前被認為在密碼學上已被破解,因此在設計新系統時不應使用。此處列出MD4是為了方便在需要產生向後相容的雜湊碼時使用。
完全披露:我沒有寫此頁面上使用的哈希函數的具體實現。它是 PHP 程式語言中包含的標準函數。為了方便起見,我僅製作了 Web 介面以便在此公開發布。
關於 MD4 哈希演算法
我不是數學家,所以我盡量用非數學專業人士也能理解的方式來解釋這個哈希函數 ;-) 如果你更喜歡數學嚴謹的解釋,你可以在很多其他網站上找到。
好的,你可以把 MD4 想像成一台特殊的碎紙機。但它不是粉碎紙張,而是將任何資訊(例如信件、密碼或書籍)「粉碎」成一張固定大小的小收據。無論你的資訊長短,這台「粉碎機」都會給你一張長度剛好為 16 位元組(128 位元),或者說十六進位 32 個字元的迷你收據。
要正確銷毀紙條,需要完成以下四個步驟:
第一步:準備訊息
- 在碎紙前,你需要調整紙張大小,使其完美地放入碎紙機中。
- 如果你的資訊太短,你可以添加一些額外的空白(例如塗鴉或填充內容),使紙張大小剛好合適。
- 如果太長,就把它分成多個相同大小的頁面。
步驟二:添加秘密印章
- 調整完資訊後,你可以在最後加上一個秘密印章,說明原始資訊的長度。
- 這樣可以幫助碎紙機追蹤資訊的原始大小,無論你添加了多少填充物。
步驟三:碎紙過程(三輪魔法)
- 現在,這則訊息將被送進碎紙機。
- 碎紙機有 4 個齒輪(A、B、C 和 D),它們按照特殊的模式一起旋轉。
- 齒輪會經歷三輪旋轉,分別完成以下動作:混合單字;將部分零件翻轉;像魔術方塊一樣扭轉;將不同的零件碰撞在一起。
- 每一輪都讓訊息看起來越來越混亂,變得難以辨認。
第四步:最終收據
- 經過一番旋轉、翻轉和粉碎之後,碎紙機吐出一張收據——一串數字和字母(哈希值)。
- 無論您撕碎的是一個單字還是一整本書,這張收據的長度始終相同!
不幸的是,隨著時間的推移,人們發現這個神奇的碎紙機並非完美無缺。一些聰明人找到了欺騙碎紙機的方法,使其對兩條不同的信息生成同一張收據(這被稱為碰撞),並預測齒輪的旋轉方式,然後利用這些信息偽造收據。正因如此,MD4 不再被認為是安全可靠的,尤其對於重要資訊而言。
進一步閱讀
如果您喜歡這篇文章,您可能也會喜歡這些建議:
