?? md5算法研究(2).htm
字號:
<TD height=1></TD></TR>
<TR bgColor=#ffcc00>
<TD align=right height=23 width=355>
<CENTER></CENTER>
<P align=center>中國動感資源交流,網(wǎng)絡(luò)動感資源薈萃</P></TD>
<TD align=middle>
<P align=center><A href="http://www.moonet.com/edu/">教育網(wǎng)</A>
英文版</P></TD></TR></TBODY></TABLE>
<CENTER>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
<TBODY>
<TR vAlign=top>
<TD bgColor=#297dff width=1> </TD>
<TD width=753></TD>
<TD bgColor=#297dff width=1> </TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
<TBODY>
<TR vAlign=top>
<TD bgColor=#297dff width=1> </TD>
<TD width=753>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD bgColor=#297dff colSpan=2 height=20><FONT color=#ceffff> →
<A href="http://www.aspsky.net/article/index.asp?classid=2"><FONT
color=#ceffff>ASP技術(shù)</FONT></A> >> <A
href="http://www.aspsky.net/article/index.asp?classid=2&Nclassid=5"><FONT
color=#ceffff>安全加密</FONT></A> >> 《MD5算法研究(2)》</FONT></TD></TR>
<TR>
<TD bgColor=#586011 colSpan=2 height=1><SPACER type="block"
width="1"></TD></TR>
<TR>
<TD colSpan=2 height=7></TD></TR>
<TR>
<TD align=middle class=p4
colSpan=2><B>MD5算法研究(2)</B></FONT><BR>2002-5-22 動網(wǎng)先鋒
</TD></TR>
<TR>
<TD class=p4 colSpan=2>
<BLOCKQUOTE><BR>FF(b,c,d,a,M3,22,0xc1bdceee)<BR> FF(a,b,c,d,M4,7,0xf57c0faf)<BR> FF(d,a,b,c,M5,12,0x4787c62a)<BR> FF(c,d,a,b,M6,17,0xa8304613)<BR> FF(b,c,d,a,M7,22,0xfd469501)<BR> FF(a,b,c,d,M8,7,0x698098d8)<BR> FF(d,a,b,c,M9,12,0x8b44f7af)<BR> FF(c,d,a,b,M10,17,0xffff5bb1)<BR> FF(b,c,d,a,M11,22,0x895cd7be)<BR> FF(a,b,c,d,M12,7,0x6b901122)<BR> FF(d,a,b,c,M13,12,0xfd987193)<BR> FF(c,d,a,b,M14,17,0xa679438e)<BR> FF(b,c,d,a,M15,22,0x49b40821)
<P></P>
<P> 第二輪</P>
<P> GG(a,b,c,d,M1,5,0xf61e2562)<BR> GG(d,a,b,c,M6,9,0xc040b340)<BR> GG(c,d,a,b,M11,14,0x265e5a51)<BR> GG(b,c,d,a,M0,20,0xe9b6c7aa)<BR> GG(a,b,c,d,M5,5,0xd62f105d)<BR> GG(d,a,b,c,M10,9,0x02441453)<BR> GG(c,d,a,b,M15,14,0xd8a1e681)<BR> GG(b,c,d,a,M4,20,0xe7d3fbc8)<BR> GG(a,b,c,d,M9,5,0x21e1cde6)<BR> GG(d,a,b,c,M14,9,0xc33707d6)<BR> GG(c,d,a,b,M3,14,0xf4d50d87)<BR> GG(b,c,d,a,M8,20,0x455a14ed)<BR> GG(a,b,c,d,M13,5,0xa9e3e905)<BR> GG(d,a,b,c,M2,9,0xfcefa3f8)<BR> GG(c,d,a,b,M7,14,0x676f02d9)<BR> GG(b,c,d,a,M12,20,0x8d2a4c8a)</P>
<P> 第三輪</P>
<P> HH(a,b,c,d,M5,4,0xfffa3942)<BR> HH(d,a,b,c,M8,11,0x8771f681)<BR> HH(c,d,a,b,M11,16,0x6d9d6122)<BR> HH(b,c,d,a,M14,23,0xfde5380c)<BR> HH(a,b,c,d,M1,4,0xa4beea44)<BR> HH(d,a,b,c,M4,11,0x4bdecfa9)<BR> HH(c,d,a,b,M7,16,0xf6bb4b60)<BR> HH(b,c,d,a,M10,23,0xbebfbc70)<BR> HH(a,b,c,d,M13,4,0x289b7ec6)<BR> HH(d,a,b,c,M0,11,0xeaa127fa)<BR> HH(c,d,a,b,M3,16,0xd4ef3085)<BR> HH(b,c,d,a,M6,23,0x04881d05)<BR> HH(a,b,c,d,M9,4,0xd9d4d039)<BR> HH(d,a,b,c,M12,11,0xe6db99e5)<BR> HH(c,d,a,b,M15,16,0x1fa27cf8)<BR> HH(b,c,d,a,M2,23,0xc4ac5665)</P>
<P> 第四輪</P>
<P> II(a,b,c,d,M0,6,0xf4292244)<BR> II(d,a,b,c,M7,10,0x432aff97)<BR> II(c,d,a,b,M14,15,0xab9423a7)<BR> II(b,c,d,a,M5,21,0xfc93a039)<BR> II(a,b,c,d,M12,6,0x655b59c3)<BR> II(d,a,b,c,M3,10,0x8f0ccc92)<BR> II(c,d,a,b,M10,15,0xffeff47d)<BR> II(b,c,d,a,M1,21,0x85845dd1)<BR> II(a,b,c,d,M8,6,0x6fa87e4f)<BR> II(d,a,b,c,M15,10,0xfe2ce6e0)<BR> II(c,d,a,b,M6,15,0xa3014314)<BR> II(b,c,d,a,M13,21,0x4e0811a1)<BR> II(a,b,c,d,M4,6,0xf7537e82)<BR> II(d,a,b,c,M11,10,0xbd3af235)<BR> II(c,d,a,b,M2,15,0x2ad7d2bb)<BR> II(b,c,d,a,M9,21,0xeb86d391)</P>
<P> 常數(shù)ti可以如下選擇:</P>
<P> 在第i步中,ti是4294967296*abs(sin(i))的整數(shù)部分,i的單位是弧度。(4294967296等于2的32次方)<BR>所有這些完成之后,將A、B、C、D分別加上a、b、c、d。然后用下一分組數(shù)據(jù)繼續(xù)運(yùn)行算法,最后的輸出是A、B、C和D的級聯(lián)。</P>
<P> 當(dāng)你按照我上面所說的方法實(shí)現(xiàn)MD5算法以后,你可以用以下幾個信息對你做出來的程序作一個簡單的測試,看看程序有沒有錯誤。</P>
<P> MD5 ("") = d41d8cd98f00b204e9800998ecf8427e<BR> MD5 ("a")
= 0cc175b9c0f1b6a831c399e269772661<BR> MD5 ("abc") =
900150983cd24fb0d6963f7d28e17f72<BR> MD5 ("message digest") =
f96b697d7cb7938d525a2f31aaf161d0<BR> MD5
("abcdefghijklmnopqrstuvwxyz") =
c3fcd3d76192e4007dfb496cca67e13b<BR> MD5
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")
=<BR>d174ab98d277d9f5a5611c2c9f419d9f<BR> MD5
("123456789012345678901234567890123456789012345678901234567890123456789<BR>01234567890")
= 57edf4a22be3c955ac49da2e2107b67a</P>
<P> 如果你用上面的信息分別對你做的MD5算法實(shí)例做測試,最后得出的結(jié)論和標(biāo)準(zhǔn)答案完全一樣,那我就要在這里象你道一聲祝賀了。要知道,我的程序在第一次編譯成功的時候是沒有得出和上面相同的結(jié)果的。</P>
<P><BR> MD5的安全性</P>
<P> MD5相對MD4所作的改進(jìn):</P>
<P> 1. 增加了第四輪;</P>
<P> 2. 每一步均有唯一的加法常數(shù);</P>
<P> 3.
為減弱第二輪中函數(shù)G的對稱性從(X&Y)|(X&Z)|(Y&Z)變?yōu)?X&Z)|(Y&(~Z));</P>
<P> 4. 第一步加上了上一步的結(jié)果,這將引起更快的雪崩效應(yīng);</P>
<P> 5. 改變了第二輪和第三輪中訪問消息子分組的次序,使其更不相似;</P>
<P> 6. 近似優(yōu)化了每一輪中的循環(huán)左移位移量以實(shí)現(xiàn)更快的雪崩效應(yīng)。各輪的位移量互不相同。
<BR><BR><BR></P></BLOCKQUOTE></TD></TR>
<TR>
<TD class=p4 vAlign=top width="50%">
<BLOCKQUOTE>原作者:不詳<BR>來 源:化境編程界<BR>共有3463位讀者閱讀過此文<BR>【<A
href="http://bbs.aspsky.net/list.asp?boardid=1">發(fā)表評論</A>】
</BLOCKQUOTE></TD>
<TD class=p4 vAlign=top width="50%">
<P>
<LI><FONT color=#0772b1>上篇文章</FONT>:<A
href="http://www.aspsky.net/article/list.asp?id=2723">MD5算法研究(1)</A>
<BR>
<LI><FONT color=#0772b1>下篇文章</FONT>:<A
href="http://www.aspsky.net/article/list.asp?id=2725">URL欺騙</A>
</LI></TD></TR>
<TR>
<TD bgColor=#297dff class=p4 height=20 width="50%"><FONT
color=#ceffff> → 本周熱門</FONT></TD>
<TD bgColor=#297dff class=p4 width="50%"><FONT color=#ceffff> →
相關(guān)文章</FONT></TD></TR>
<TR>
<TD bgColor=#586011 colSpan=2 height=1><SPACER type="block"
width="1"></TD></TR>
<TR>
<TD colSpan=2 height=7></TD></TR>
<TR>
<TD class=p4 vAlign=top width="50%">
<LI><A href="http://www.aspsky.net/article/list.asp?id=1510"
target=_top title="SQL Server 7.0 入門(一)">SQL Server 7.0
入門(...</A>[<FONT color=red>7239</FONT>]<BR>
<LI><A href="http://www.aspsky.net/article/list.asp?id=1540"
target=_top title=PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(1)>PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(1)</A>[<FONT
color=red>7135</FONT>]<BR>
<LI><A href="http://www.aspsky.net/article/list.asp?id=1536"
target=_top
title=無組件文件上傳代碼實(shí)例(支持多文件上傳及文件和input域混合上傳)>無組件文件上傳代碼實(shí)例(支持多文件上...</A>[<FONT
color=red>6029</FONT>]<BR>
<LI><A href="http://www.aspsky.net/article/list.asp?id=2557"
target=_top title=樹型結(jié)構(gòu)在ASP中的簡單解決>樹型結(jié)構(gòu)在ASP中的簡單解決</A>[<FONT
color=red>5757</FONT>]<BR>
<LI><A href="http://www.aspsky.net/article/list.asp?id=1545"
target=_top title=PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(6)>PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(6)</A>[<FONT
color=red>5599</FONT>]<BR>
<LI><A href="http://www.aspsky.net/article/list.asp?id=2563"
target=_top title=一個老個寫的無組件上傳>一個老個寫的無組件上傳</A>[<FONT
color=red>5013</FONT>]<BR>
<LI><A href="http://www.aspsky.net/article/list.asp?id=1542"
target=_top title=PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(3)>PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(3)</A>[<FONT
color=red>4731</FONT>]<BR></LI></TD>
<TD class=p4 vAlign=top width="50%">
<LI><A
href="http://www.aspsky.net/article/list.asp?id=2724">MD5算法研究(2)</A><BR>
<LI><A
href="http://www.aspsky.net/article/list.asp?id=2723">MD5算法研究(1)</A><BR></LI></TD></TR>
<TR>
<TD colSpan=2 height=7></TD></TR></TBODY></TABLE>
<TD bgColor=#297dff width=1> </TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
<TBODY>
<TR>
<TD bgColor=#297dff height=1><SPACER type="block"
width="1"></TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
<TBODY>
<TR>
<TD align=middle height=30></TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
<TBODY>
<TR>
<TD align=middle class=p2 width="100%">
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
<TBODY>
<TR>
<TD align=middle class=p2 width="100%">
<P align=center><A
href="http://www.aspsky.net/produce/index.asp">客戶服務(wù)</A> -- <A
href="http://www.aspsky.net/aspads.asp">廣告合作</A> -- <A
href="http://www.aspsky.net/about.asp">關(guān)于本站</A> -- <A
href="http://www.aspsky.net/tell.asp">聯(lián)系方法</A><BR><BR>動網(wǎng)先鋒版權(quán)所有 <FONT
face=Verdana, size=1 Arial, Helvetica, sans-serif>Copyright ©
2000-2001 <B>AspSky<FONT color=#cc0000>.Net</FONT></B>, All Rights
Reserved .</FONT>
</P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></CENTER></BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -