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

📄 md5不可逆加密算法的asp实现实例.htm

📁 较为详细的介绍了asp自定义的各种函数,方便asp的各种开发.
💻 HTM
📖 第 1 页 / 共 2 页
字号:
              z)<BR>End Function</P>
              <P>Private Function md5_I(x, y, z)<BR>md5_I = (y Xor (x Or (Not 
              z)))<BR>End Function</P>
              <P>Private Sub md5_FF(a, b, c, d, x, s, ac)<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))<BR>a = 
              RotateLeft(a, s)<BR>a = AddUnsigned(a, b)<BR>End Sub</P>
              <P>Private Sub md5_GG(a, b, c, d, x, s, ac)<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))<BR>a = 
              RotateLeft(a, s)<BR>a = AddUnsigned(a, b)<BR>End Sub</P>
              <P>Private Sub md5_HH(a, b, c, d, x, s, ac)<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))<BR>a = 
              RotateLeft(a, s)<BR>a = AddUnsigned(a, b)<BR>End Sub</P>
              <P>Private Sub md5_II(a, b, c, d, x, s, ac)<BR>a = AddUnsigned(a, 
              AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))<BR>a = 
              RotateLeft(a, s)<BR>a = AddUnsigned(a, b)<BR>End Sub</P>
              <P>Private Function ConvertToWordArray(sMessage)<BR>Dim 
              lMessageLength<BR>Dim lNumberOfWords<BR>Dim lWordArray()<BR>Dim 
              lBytePosition<BR>Dim lByteCount<BR>Dim lWordCount<BR><BR>Const 
              MODULUS_BITS = 512<BR>Const CONGRUENT_BITS = 
              448<BR><BR>lMessageLength = Len(sMessage)<BR><BR>lNumberOfWords = 
              (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ 
              BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * 
              (MODULUS_BITS \ BITS_TO_A_WORD)<BR>ReDim lWordArray(lNumberOfWords 
              - 1)<BR><BR>lBytePosition = 0<BR>lByteCount = 0<BR>Do Until 
              lByteCount &gt;= lMessageLength<BR>lWordCount = lByteCount \ 
              BYTES_TO_A_WORD<BR>lBytePosition = (lByteCount Mod 
              BYTES_TO_A_WORD) * BITS_TO_A_BYTE<BR>lWordArray(lWordCount) = 
              lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 
              1)), lBytePosition)<BR>lByteCount = lByteCount + 1<BR>Loop</P>
              <P>lWordCount = lByteCount \ BYTES_TO_A_WORD<BR>lBytePosition = 
              (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE</P>
              <P>lWordArray(lWordCount) = lWordArray(lWordCount) Or 
              LShift(&amp;H80, lBytePosition)</P>
              <P>lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 
              3)<BR>lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 
              29)<BR><BR>ConvertToWordArray = lWordArray<BR>End Function</P>
              <P>Private Function WordToHex(lValue)<BR>Dim lByte<BR>Dim 
              lCount<BR><BR>For lCount = 0 To 3<BR>lByte = RShift(lValue, lCount 
              * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)<BR>WordToHex = 
              WordToHex &amp; Right("0" &amp; Hex(lByte), 2)<BR>Next<BR>End 
              Function</P>
              <P>Public Function MD5(sMessage)<BR>m_lOnBits(0) = 
              CLng(1)<BR>m_lOnBits(1) = CLng(3)<BR>m_lOnBits(2) = 
              CLng(7)<BR>m_lOnBits(3) = CLng(15)<BR>m_lOnBits(4) = 
              CLng(31)<BR>m_lOnBits(5) = CLng(63)<BR>m_lOnBits(6) = 
              CLng(127)<BR>m_lOnBits(7) = CLng(255)<BR>m_lOnBits(8) = 
              CLng(511)<BR>m_lOnBits(9) = CLng(1023)<BR>m_lOnBits(10) = 
              CLng(2047)<BR>m_lOnBits(11) = CLng(4095)<BR>m_lOnBits(12) = 
              CLng(8191)<BR>m_lOnBits(13) = CLng(16383)<BR>m_lOnBits(14) = 
              CLng(32767)<BR>m_lOnBits(15) = CLng(65535)<BR>m_lOnBits(16) = 
              CLng(131071)<BR>m_lOnBits(17) = CLng(262143)<BR>m_lOnBits(18) = 
              CLng(524287)<BR>m_lOnBits(19) = CLng(1048575)<BR>m_lOnBits(20) = 
              CLng(2097151)<BR>m_lOnBits(21) = CLng(4194303)<BR>m_lOnBits(22) = 
              CLng(8388607)<BR>m_lOnBits(23) = CLng(16777215)<BR>m_lOnBits(24) = 
              CLng(33554431)<BR>m_lOnBits(25) = CLng(67108863)<BR>m_lOnBits(26) 
              = CLng(134217727)<BR>m_lOnBits(27) = 
              CLng(268435455)<BR>m_lOnBits(28) = 
              CLng(536870911)<BR>m_lOnBits(29) = 
              CLng(1073741823)<BR>m_lOnBits(30) = 
              CLng(2147483647)<BR><BR>m_l2Power(0) = CLng(1)<BR>m_l2Power(1) = 
              CLng(2)<BR>m_l2Power(2) = CLng(4)<BR>m_l2Power(3) = 
              CLng(8)<BR>m_l2Power(4) = CLng(16)<BR>m_l2Power(5) = 
              CLng(32)<BR>m_l2Power(6) = CLng(64)<BR>m_l2Power(7) = 
              CLng(128)<BR>m_l2Power(8) = CLng(256)<BR>m_l2Power(9) = 
              CLng(512)<BR>m_l2Power(10) = CLng(1024)<BR>m_l2Power(11) = 
              CLng(2048)<BR>m_l2Power(12) = CLng(4096)<BR>m_l2Power(13) = 
              CLng(8192)<BR>m_l2Power(14) = CLng(16384)<BR>m_l2Power(15) = 
              CLng(32768)<BR>m_l2Power(16) = CLng(65536)<BR>m_l2Power(17) = 
              CLng(131072)<BR>m_l2Power(18) = CLng(262144)<BR>m_l2Power(19) = 
              CLng(524288)<BR>m_l2Power(20) = CLng(1048576)<BR>m_l2Power(21) = 
              CLng(2097152)<BR>m_l2Power(22) = CLng(4194304)<BR>m_l2Power(23) = 
              CLng(8388608)<BR>m_l2Power(24) = CLng(16777216)<BR>m_l2Power(25) = 
              CLng(33554432)<BR>m_l2Power(26) = CLng(67108864)<BR>m_l2Power(27) 
              = CLng(134217728)<BR>m_l2Power(28) = 
              CLng(268435456)<BR>m_l2Power(29) = 
              CLng(536870912)<BR>m_l2Power(30) = CLng(1073741824)</P>
              <P><BR>Dim x<BR>Dim k<BR>Dim AA<BR>Dim BB<BR>Dim CC<BR>Dim 
              DD<BR>Dim a<BR>Dim b<BR>Dim c<BR>Dim d<BR><BR>Const S11 = 
              7<BR>Const S12 = 12<BR>Const S13 = 17<BR>Const S14 = 22<BR>Const 
              S21 = 5<BR>Const S22 = 9<BR>Const S23 = 14<BR>Const S24 = 
              20<BR>Const S31 = 4<BR>Const S32 = 11<BR>Const S33 = 16<BR>Const 
              S34 = 23<BR>Const S41 = 6<BR>Const S42 = 10<BR>Const S43 = 
              15<BR>Const S44 = 21</P>
              <P>x = ConvertToWordArray(sMessage)<BR><BR>a = &amp;H67452301<BR>b 
              = &amp;HEFCDAB89<BR>c = &amp;H98BADCFE<BR>d = &amp;H10325476</P>
              <P>For k = 0 To UBound(x) Step 16<BR>AA = a<BR>BB = b<BR>CC = 
              c<BR>DD = d<BR><BR>md5_FF a, b, c, d, x(k + 0), S11, 
              &amp;HD76AA478<BR>md5_FF d, a, b, c, x(k + 1), S12, 
              &amp;HE8C7B756<BR>md5_FF c, d, a, b, x(k + 2), S13, 
              &amp;H242070DB<BR>md5_FF b, c, d, a, x(k + 3), S14, 
              &amp;HC1BDCEEE<BR>md5_FF a, b, c, d, x(k + 4), S11, 
              &amp;HF57C0FAF<BR>md5_FF d, a, b, c, x(k + 5), S12, 
              &amp;H4787C62A<BR>md5_FF c, d, a, b, x(k + 6), S13, 
              &amp;HA8304613<BR>md5_FF b, c, d, a, x(k + 7), S14, 
              &amp;HFD469501<BR>md5_FF a, b, c, d, x(k + 8), S11, 
              &amp;H698098D8<BR>md5_FF d, a, b, c, x(k + 9), S12, 
              &amp;H8B44F7AF<BR>md5_FF c, d, a, b, x(k + 10), S13, 
              &amp;HFFFF5BB1<BR>md5_FF b, c, d, a, x(k + 11), S14, 
              &amp;H895CD7BE<BR>md5_FF a, b, c, d, x(k + 12), S11, 
              &amp;H6B901122<BR>md5_FF d, a, b, c, x(k + 13), S12, 
              &amp;HFD987193<BR>md5_FF c, d, a, b, x(k + 14), S13, 
              &amp;HA679438E<BR>md5_FF b, c, d, a, x(k + 15), S14, 
              &amp;H49B40821<BR><BR>md5_GG a, b, c, d, x(k + 1), S21, 
              &amp;HF61E2562<BR>md5_GG d, a, b, c, x(k + 6), S22, 
              &amp;HC040B340<BR>md5_GG c, d, a, b, x(k + 11), S23, 
              &amp;H265E5A51<BR>md5_GG b, c, d, a, x(k + 0), S24, 
              &amp;HE9B6C7AA<BR>md5_GG a, b, c, d, x(k + 5), S21, 
              &amp;HD62F105D<BR>md5_GG d, a, b, c, x(k + 10), S22, 
              &amp;H2441453<BR>md5_GG c, d, a, b, x(k + 15), S23, 
              &amp;HD8A1E681<BR>md5_GG b, c, d, a, x(k + 4), S24, 
              &amp;HE7D3FBC8<BR>md5_GG a, b, c, d, x(k + 9), S21, 
              &amp;H21E1CDE6<BR>md5_GG d, a, b, c, x(k + 14), S22, 
              &amp;HC33707D6<BR>md5_GG c, d, a, b, x(k + 3), S23, 
              &amp;HF4D50D87<BR>md5_GG b, c, d, a, x(k + 8), S24, 
              &amp;H455A14ED<BR>md5_GG a, b, c, d, x(k + 13), S21, 
              &amp;HA9E3E905<BR>md5_GG d, a, b, c, x(k + 2), S22, 
              &amp;HFCEFA3F8<BR>md5_GG c, d, a, b, x(k + 7), S23, 
              &amp;H676F02D9<BR>md5_GG b, c, d, a, x(k + 12), S24, 
              &amp;H8D2A4C8A<BR><BR>md5_HH a, b, c, d, x(k + 5), S31, 
              &amp;HFFFA3942<BR>md5_HH d, a, b, c, x(k + 8), S32, 
              &amp;H8771F681<BR>md5_HH c, d, a, b, x(k + 11), S33, 
              &amp;H6D9D6122<BR>md5_HH b, c, d, a, x(k + 14), S34, 
              &amp;HFDE5380C<BR>md5_HH a, b, c, d, x(k + 1), S31, 
              &amp;HA4BEEA44<BR>md5_HH d, a, b, c, x(k + 4), S32, 
              &amp;H4BDECFA9<BR>md5_HH c, d, a, b, x(k + 7), S33, 
              &amp;HF6BB4B60<BR>md5_HH b, c, d, a, x(k + 10), S34, 
              &amp;HBEBFBC70<BR>md5_HH a, b, c, d, x(k + 13), S31, 
              &amp;H289B7EC6<BR>md5_HH d, a, b, c, x(k + 0), S32, 
              &amp;HEAA127FA<BR>md5_HH c, d, a, b, x(k + 3), S33, 
              &amp;HD4EF3085<BR>md5_HH b, c, d, a, x(k + 6), S34, 
              &amp;H4881D05<BR>md5_HH a, b, c, d, x(k + 9), S31, 
              &amp;HD9D4D039<BR>md5_HH d, a, b, c, x(k + 12), S32, 
              &amp;HE6DB99E5<BR>md5_HH c, d, a, b, x(k + 15), S33, 
              &amp;H1FA27CF8<BR>md5_HH b, c, d, a, x(k + 2), S34, 
              &amp;HC4AC5665<BR><BR>md5_II a, b, c, d, x(k + 0), S41, 
              &amp;HF4292244<BR>md5_II d, a, b, c, x(k + 7), S42, 
              &amp;H432AFF97<BR>md5_II c, d, a, b, x(k + 14), S43, 
              &amp;HAB9423A7<BR>md5_II b, c, d, a, x(k + 5), S44, 
              &amp;HFC93A039<BR>md5_II a, b, c, d, x(k + 12), S41, 
              &amp;H655B59C3<BR>md5_II d, a, b, c, x(k + 3), S42, 
              &amp;H8F0CCC92<BR>md5_II c, d, a, b, x(k + 10), S43, 
              &amp;HFFEFF47D<BR>md5_II b, c, d, a, x(k + 1), S44, 
              &amp;H85845DD1<BR>md5_II a, b, c, d, x(k + 8), S41, 
              &amp;H6FA87E4F<BR>md5_II d, a, b, c, x(k + 15), S42, 
              &amp;HFE2CE6E0<BR>md5_II c, d, a, b, x(k + 6), S43, 
              &amp;HA3014314<BR>md5_II b, c, d, a, x(k + 13), S44, 
              &amp;H4E0811A1<BR>md5_II a, b, c, d, x(k + 4), S41, 
              &amp;HF7537E82<BR>md5_II d, a, b, c, x(k + 11), S42, 
              &amp;HBD3AF235<BR>md5_II c, d, a, b, x(k + 2), S43, 
              &amp;H2AD7D2BB<BR>md5_II b, c, d, a, x(k + 9), S44, 
              &amp;HEB86D391<BR><BR>a = AddUnsigned(a, AA)<BR>b = AddUnsigned(b, 
              BB)<BR>c = AddUnsigned(c, CC)<BR>d = AddUnsigned(d, 
              DD)<BR>Next<BR><BR>MD5 = LCase(WordToHex(a) &amp; WordToHex(b) 
              &amp; WordToHex(c) &amp; WordToHex(d))<BR>' MD5=LCase(WordToHex(b) 
              &amp; WordToHex(c)) 'I crop this to fit 16byte database password 
              :D<BR>End Function</P>
              <P>Response.Write "123456的加密结果为[" &amp; md5 ("123456") &amp; 
              "]"<BR>%&gt; <BR><BR></P></BLOCKQUOTE></TD></TR>
        <TR>
          <TD class=p4 vAlign=top width="50%">
            <BLOCKQUOTE>原作者:沙滩小子(转)<BR>来 源:动网先锋<BR>共有4739位读者阅读过此文<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=2598">ASP.NET 
            Framework深度历险(3)</A> <BR>
            <LI><FONT color=#0772b1>下篇文章</FONT>:<A 
            href="http://www.aspsky.net/article/list.asp?id=2600">如何在服务器端调用winzip命令行对上传的多个文件打包压缩</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 + -