⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md5加密的javascript实现例子.htm

📁 较为详细的介绍了asp自定义的各种函数,方便asp的各种开发.
💻 HTM
📖 第 1 页 / 共 2 页
字号:
        <TR>
          <TD class=p4 colSpan=2>
            <BLOCKQUOTE><BR>/* MD5 Message-Digest Algorithm - JavaScript<BR>' 
              MODIFICATION HISTORY:<BR>' 1.0 16-Feb-2001 - Phil Fresle 
              (sales@frez.co.uk) - Initial Version (VB/ASP code)<BR>' 1.0 
              21-Feb-2001 - Enrico Mosanghini (erik504@yahoo.com) - JavaScript 
              porting<BR>*/<BR>function MD5(sMessage) {<BR>function 
              RotateLeft(lValue, iShiftBits) { return (lValue&lt;&lt;iShiftBits) 
              | (lValue&gt;&gt;&gt;(32-iShiftBits)); }<BR>function 
              AddUnsigned(lX,lY) {<BR>var lX4,lY4,lX8,lY8,lResult;<BR>lX8 = (lX 
              &amp; 0x80000000);<BR>lY8 = (lY &amp; 0x80000000);<BR>lX4 = (lX 
              &amp; 0x40000000);<BR>lY4 = (lY &amp; 0x40000000);<BR>lResult = 
              (lX &amp; 0x3FFFFFFF)+(lY &amp; 0x3FFFFFFF);<BR>if (lX4 &amp; lY4) 
              return (lResult ^ 0x80000000 ^ lX8 ^ lY8);<BR>if (lX4 | lY4) 
              {<BR>if (lResult &amp; 0x40000000) return (lResult ^ 0xC0000000 ^ 
              lX8 ^ lY8);<BR>else return (lResult ^ 0x40000000 ^ lX8 ^ 
              lY8);<BR>} else return (lResult ^ lX8 ^ lY8);<BR>}<BR>function 
              F(x,y,z) { return (x &amp; y) | ((~x) &amp; z); }<BR>function 
              G(x,y,z) { return (x &amp; z) | (y &amp; (~z)); }<BR>function 
              H(x,y,z) { return (x ^ y ^ z); }<BR>function I(x,y,z) { return (y 
              ^ (x | (~z))); }<BR>function FF(a,b,c,d,x,s,ac) {<BR>a = 
              AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), 
              ac));<BR>return AddUnsigned(RotateLeft(a, s), b);<BR>}<BR>function 
              GG(a,b,c,d,x,s,ac) {<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(G(b, c, d), x), ac));<BR>return 
              AddUnsigned(RotateLeft(a, s), b);<BR>}<BR>function 
              HH(a,b,c,d,x,s,ac) {<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(H(b, c, d), x), ac));<BR>return 
              AddUnsigned(RotateLeft(a, s), b);<BR>}<BR>function 
              II(a,b,c,d,x,s,ac) {<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(I(b, c, d), x), ac));<BR>return 
              AddUnsigned(RotateLeft(a, s), b);<BR>}<BR>function 
              ConvertToWordArray(sMessage) {<BR>var lWordCount;<BR>var 
              lMessageLength = sMessage.length;<BR>var 
              lNumberOfWords_temp1=lMessageLength + 8;<BR>var 
              lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 
              64))/64;<BR>var lNumberOfWords = 
              (lNumberOfWords_temp2+1)*16;<BR>var 
              lWordArray=Array(lNumberOfWords-1);<BR>var lBytePosition = 
              0;<BR>var lByteCount = 0;<BR>while ( lByteCount &lt; 
              lMessageLength ) {<BR>lWordCount = (lByteCount-(lByteCount % 
              4))/4;<BR>lBytePosition = (lByteCount % 
              4)*8;<BR>lWordArray[lWordCount] = (lWordArray[lWordCount] | 
              (sMessage.charCodeAt(lByteCount)&lt;&lt;lBytePosition));<BR>lByteCount++;<BR>}<BR>lWordCount 
              = (lByteCount-(lByteCount % 4))/4;<BR>lBytePosition = (lByteCount 
              % 4)*8;<BR>lWordArray[lWordCount] = lWordArray[lWordCount] | 
              (0x80&lt;&lt;lBytePosition);<BR>lWordArray[lNumberOfWords-2] = 
              lMessageLength&lt;&lt;3;<BR>lWordArray[lNumberOfWords-1] = 
              lMessageLength&gt;&gt;&gt;29;<BR>return 
              lWordArray;<BR>}<BR>function WordToHex(lValue) {<BR>var 
              WordToHexValue="",WordToHexValue_temp="",lByte,lCount;<BR>for 
              (lCount = 0;lCount&lt;=3;lCount++) {<BR>lByte = 
              (lValue&gt;&gt;&gt;(lCount*8)) &amp; 255;<BR>WordToHexValue_temp = 
              "0" + lByte.toString(16);<BR>WordToHexValue = WordToHexValue + 
              WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);<BR>}<BR>return 
              WordToHexValue;<BR>}<BR>var x=Array();<BR>var 
              k,AA,BB,CC,DD,a,b,c,d<BR>var S11=7, S12=12, S13=17, S14=22;<BR>var 
              S21=5, S22=9 , S23=14, S24=20;<BR>var S31=4, S32=11, S33=16, 
              S34=23;<BR>var S41=6, S42=10, S43=15, S44=21;<BR>// Steps 1 and 2. 
              Append padding bits and length and convert to words<BR>x = 
              ConvertToWordArray(sMessage);<BR>// Step 3. Initialise<BR>a = 
              0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;<BR>// 
              Step 4. Process the message in 16-word blocks<BR>for 
              (k=0;k&lt;x.length;k+=16) {<BR>AA=a; BB=b; CC=c; 
              DD=d;<BR>a=FF(a,b,c,d,x[k+0], 
              S11,0xD76AA478);<BR>d=FF(d,a,b,c,x[k+1], 
              S12,0xE8C7B756);<BR>c=FF(c,d,a,b,x[k+2], 
              S13,0x242070DB);<BR>b=FF(b,c,d,a,x[k+3], 
              S14,0xC1BDCEEE);<BR>a=FF(a,b,c,d,x[k+4], 
              S11,0xF57C0FAF);<BR>d=FF(d,a,b,c,x[k+5], 
              S12,0x4787C62A);<BR>c=FF(c,d,a,b,x[k+6], 
              S13,0xA8304613);<BR>b=FF(b,c,d,a,x[k+7], 
              S14,0xFD469501);<BR>a=FF(a,b,c,d,x[k+8], 
              S11,0x698098D8);<BR>d=FF(d,a,b,c,x[k+9], 
              S12,0x8B44F7AF);<BR>c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);<BR>b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);<BR>a=FF(a,b,c,d,x[k+12],S11,0x6B901122);<BR>d=FF(d,a,b,c,x[k+13],S12,0xFD987193);<BR>c=FF(c,d,a,b,x[k+14],S13,0xA679438E);<BR>b=FF(b,c,d,a,x[k+15],S14,0x49B40821);<BR>a=GG(a,b,c,d,x[k+1], 
              S21,0xF61E2562);<BR>d=GG(d,a,b,c,x[k+6], 
              S22,0xC040B340);<BR>c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);<BR>b=GG(b,c,d,a,x[k+0], 
              S24,0xE9B6C7AA);<BR>a=GG(a,b,c,d,x[k+5], 
              S21,0xD62F105D);<BR>d=GG(d,a,b,c,x[k+10],S22,0x2441453);<BR>c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);<BR>b=GG(b,c,d,a,x[k+4], 
              S24,0xE7D3FBC8);<BR>a=GG(a,b,c,d,x[k+9], 
              S21,0x21E1CDE6);<BR>d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);<BR>c=GG(c,d,a,b,x[k+3], 
              S23,0xF4D50D87);<BR>b=GG(b,c,d,a,x[k+8], 
              S24,0x455A14ED);<BR>a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);<BR>d=GG(d,a,b,c,x[k+2], 
              S22,0xFCEFA3F8);<BR>c=GG(c,d,a,b,x[k+7], 
              S23,0x676F02D9);<BR>b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);<BR>a=HH(a,b,c,d,x[k+5], 
              S31,0xFFFA3942);<BR>d=HH(d,a,b,c,x[k+8], 
              S32,0x8771F681);<BR>c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);<BR>b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);<BR>a=HH(a,b,c,d,x[k+1], 
              S31,0xA4BEEA44);<BR>d=HH(d,a,b,c,x[k+4], 
              S32,0x4BDECFA9);<BR>c=HH(c,d,a,b,x[k+7], 
              S33,0xF6BB4B60);<BR>b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);<BR>a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);<BR>d=HH(d,a,b,c,x[k+0], 
              S32,0xEAA127FA);<BR>c=HH(c,d,a,b,x[k+3], 
              S33,0xD4EF3085);<BR>b=HH(b,c,d,a,x[k+6], 
              S34,0x4881D05);<BR>a=HH(a,b,c,d,x[k+9], 
              S31,0xD9D4D039);<BR>d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);<BR>c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);<BR>b=HH(b,c,d,a,x[k+2], 
              S34,0xC4AC5665);<BR>a=II(a,b,c,d,x[k+0], 
              S41,0xF4292244);<BR>d=II(d,a,b,c,x[k+7], 
              S42,0x432AFF97);<BR>c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);<BR>b=II(b,c,d,a,x[k+5], 
              S44,0xFC93A039);<BR>a=II(a,b,c,d,x[k+12],S41,0x655B59C3);<BR>d=II(d,a,b,c,x[k+3], 
              S42,0x8F0CCC92);<BR>c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);<BR>b=II(b,c,d,a,x[k+1], 
              S44,0x85845DD1);<BR>a=II(a,b,c,d,x[k+8], 
              S41,0x6FA87E4F);<BR>d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);<BR>c=II(c,d,a,b,x[k+6], 
              S43,0xA3014314);<BR>b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);<BR>a=II(a,b,c,d,x[k+4], 
              S41,0xF7537E82);<BR>d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);<BR>c=II(c,d,a,b,x[k+2], 
              S43,0x2AD7D2BB);<BR>b=II(b,c,d,a,x[k+9], 
              S44,0xEB86D391);<BR>a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); 
              c=AddUnsigned(c,CC); d=AddUnsigned(d,DD);<BR>}<BR>// Step 5. 
              Output the 128 bit digest<BR>var temp= 
              WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);<BR>return 
              temp.toLowerCase();<BR>} <BR><BR></BLOCKQUOTE></TD></TR>
        <TR>
          <TD class=p4 vAlign=top width="50%">
            <BLOCKQUOTE>原作者:netnice(转)<BR>来 源:开发者俱乐部<BR>共有3964位读者阅读过此文<BR>【<A 
              href="http://bbs.aspsky.net/list.asp?boardid=1">发表评论</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=2612">一个通用数据库显示程序</A> 
            <BR>
            <LI><FONT color=#0772b1>下篇文章</FONT>:<A 
            href="http://www.aspsky.net/article/list.asp?id=2614">检查当前目录下是否存在指定的文件,如果存在就重新命名</A> 
            </LI></TD></TR>
        <TR>
          <TD bgColor=#297dff class=p4 height=20 width="50%"><FONT 
            color=#ceffff>&nbsp;→ 本周热门</FONT></TD>
          <TD bgColor=#297dff class=p4 width="50%"><FONT color=#ceffff>&nbsp;→ 
            相关文章</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实际应用经验篇(1)>PHP4实际应用经验篇(1)</A>[<FONT 
            color=red>7135</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1536" 
            target=_top 
            title=无组件文件上传代码实例(支持多文件上传及文件和input域混合上传)>无组件文件上传代码实例(支持多文件上...</A>[<FONT 
            color=red>6029</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=2557" 
            target=_top title=树型结构在ASP中的简单解决>树型结构在ASP中的简单解决</A>[<FONT 
            color=red>5757</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1545" 
            target=_top title=PHP4实际应用经验篇(6)>PHP4实际应用经验篇(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实际应用经验篇(3)>PHP4实际应用经验篇(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=2785">RC4经典加密算法VB版本代码</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2783">在asp中通过vbs类实现rsa加密与解密</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2774">给大家一个新的加密方法,C#的</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2638">一套加解密字符串的函数</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2637">一段加密函数(base64)</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2636">一段加密函数</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2613">MD5加密的javascript实现例子</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">客户服务</A> -- <A 
            href="http://www.aspsky.net/aspads.asp">广告合作</A> -- <A 
            href="http://www.aspsky.net/about.asp">关于本站</A> -- <A 
            href="http://www.aspsky.net/tell.asp">联系方法</A><BR><BR>动网先锋版权所有 <FONT 
            face=Verdana, size=1 Arial, Helvetica, sans-serif>Copyright &copy; 
            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>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -