MD5算法實現細節--------第三步和第四步

在上一篇博文中提到了MD5實現的第一步和第二步,這裏繼續後續的兩步。

http://blog.csdn.net/sinat_26551021/article/details/47103203

第三步
初始化:由於小端模式的原因,在程序中應該按如下定義:
a=0x67452301,b=0xEFCDAB89,c=0x98BADCFE,d=0x10325476。
第四步
四輪循環運算:循環的次數是分組的個數(N+1)

實現細節:具體的運算過程不再贅述,按照博文中的即可。

http://blog.csdn.net/forgotaboutgirl/article/details/7258109

經過四輪循環運算之後,結果存儲在a,b,c,d中,但是仍然由於小端模式的原因,此時的結果必須經過變換才能得到最終的MD5值。圖1爲經過四輪循環運算之後,a,b,c,d的值。爲了確定你的結果是否正確,可以和網站http://www.cmd5.com/上的值進行對比,圖2爲網站上的結果。

圖1

圖2

對比兩圖,可以發現,圖1爲圖2的小端模式存儲,因此在我們得到圖1的結果後,需要將其變換爲圖2中的形式。

圖3爲經過變換的數據,與圖2完全一致,至此完成了MD5算法。
這裏寫圖片描述

發佈了22 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章