打印本文 打印本文 关闭窗口 关闭窗口
MD5加密算法(16位,32位)的C#,VB的实现
作者:武汉SEO闵涛  文章来源:敏韬网  点击数5893  更新时间:2009/4/23 15:42:19  文章录入:mintao  责任编辑:mintao
            m_l2Power(26) = CLng(67108864)
            m_l2Power(27) = CLng(134217728)
            m_l2Power(28) = CLng(268435456)
            m_l2Power(29) = CLng(536870912)
            m_l2Power(30) = CLng(1073741824)


            Dim x() As Long
            Dim k As Integer
            Dim AA As Integer
            Dim BB As Integer
            Dim CC As Integer
            Dim DD As Integer
            Dim a As Integer
            Dim b As Integer
            Dim c As Integer
            Dim d As Integer

            Const S11 As Integer = 7
            Const S12 As Integer = 12
            Const S13 As Integer = 17
            Const S14 As Integer = 22
            Const S21 As Integer = 5
            Const S22 As Integer = 9
            Const S23 As Integer = 14
            Const S24 As Integer = 20
            Const S31 As Integer = 4
            Const S32 As Integer = 11
            Const S33 As Integer = 16
            Const S34 As Integer = 23
            Const S41 As Integer = 6
            Const S42 As Integer = 10
            Const S43 As Integer = 15
            Const S44 As Integer = 21

            x = ConvertToWordArray(sMessage)

            a = &H67452301
            b = &HEFCDAB89
            c = &H98BADCFE
            d = &H10325476

            For k = 0 To UBound(x) Step 16
                AA = a
                BB = b
                CC = c
                DD = d

                md5_FF(a, b, c, d, x(k + 0), S11, &HD76AA478)
                md5_FF(d, a, b, c, x(k + 1), S12, &HE8C7B756)
                md5_FF(c, d, a, b, x(k + 2), S13, &H242070DB)
                md5_FF(b, c, d, a, x(k + 3), S14, &HC1BDCEEE)
                md5_FF(a, b, c, d, x(k + 4), S11, &HF57C0FAF)
                md5_FF(d, a, b, c, x(k + 5), S12, &H4787C62A)
                md5_FF(c, d, a, b, x(k + 6), S13, &HA8304613)
                md5_FF(b, c, d, a, x(k + 7), S14, &HFD469501)
                md5_FF(a, b, c, d, x(k + 8), S11, &H698098D8)
                md5_FF(d, a, b, c, x(k + 9), S12, &H8B44F7AF)
                md5_FF(c, d, a, b, x(k + 10), S13, &HFFFF5BB1)
                md5_FF(b, c, d, a, x(k + 11), S14, &H895CD7BE)
                md5_FF(a, b, c, d, x(k + 12), S11, &H6B901122)
                md5_FF(d, a, b, c, x(k + 13), S12, &HFD987193)
                md5_FF(c, d, a, b, x(k + 14), S13, &HA679438E)
                md5_FF(b, c, d, a, x(k + 15), S14, &H49B40821)

                md5_GG(a, b, c, d, x(k + 1), S21, &HF61E2562)
                md5_GG(d, a, b, c, x(k + 6), S22, &HC040B340)
                md5_GG(c, d, a, b, x(k + 11), S23, &H265E5A51)
                md5_GG(b, c, d, a, x(k + 0), S24, &HE9B6C7AA)
                md5_GG(a, b, c, d, x(k + 5), S21, &HD62F105D)
                md5_GG(d, a, b, c, x(k + 10), S22, &H2441453)
                md5_GG(c, d, a, b, x(k + 15), S23, &HD8A1E681)
                md5_GG(b, c, d, a, x(k + 4), S24, &HE7D3FBC8)
                md5_GG(a, b, c, d, x(k + 9), S21, &H21E1CDE6)
                md5_GG(d, a, b, c, x(k + 14), S22, &HC33707D6)
                md5_GG(c, d, a, b, x(k + 3), S23, &HF4D50D87)
                md5_GG(b, c, d, a, x(k + 8), S24, &H455A14ED)
                md5_GG(a, b, c, d, x(k + 13), S21, &HA9E3E905)
                md5_GG(d, a, b, c, x(k + 2), S22, &HFCEFA3F8)
                md5_GG(c, d, a, b, x(k + 7), S23, &H676F02D9)
                md5_GG(b, c, d, a, x(k + 12), S24, &H8D2A4C8A)

                md5_HH(a, b, c, d, x(k + 5), S31, &HFFFA3942)
                md5_HH(d, a, b, c, x(k + 8), S32, &H8771F681)
                md5_HH(c, d, a, b, x(k + 11), S33, &H6D9D6122)
                md5_HH(b, c, d, a, x(k + 14), S34, &HFDE5380C)
                md5_HH(a, b, c, d, x(k + 1), S31, &HA4BEEA44)
                md5_HH(d, a, b, c, x(k + 4), S32, &H4BDECFA9)
                md5_HH(c, d, a, b, x(k + 7), S33, &HF6BB4B60)
                md5_HH(b, c, d, a, x(k + 10), S34, &HBEBFBC70)
                md5_HH(a, b, c, d, x(k + 13), S31, &H289B7EC6)
                md5_HH(d, a, b, c, x(k + 0), S32, &HEAA127FA)
    

上一页  [1] [2] [3] [4] [5] [6]  下一页

打印本文 打印本文 关闭窗口 关闭窗口