Asp加密函数的代码

2015-08-12 16:01:09来源:作者:人点击

 

Private Function md5_I(x, y, z)  

    md5_I = (y Xor (x Or (Not z)))  

End Function  

 

Private Sub md5_FF(a, b, c, d, x, s, ac)  

    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))  

    a = RotateLeft(a, s)  

    a = AddUnsigned(a, b)  

End Sub  

 

Private Sub md5_GG(a, b, c, d, x, s, ac)  

    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))  

    a = RotateLeft(a, s)  

    a = AddUnsigned(a, b)  

End Sub  

 

Private Sub md5_HH(a, b, c, d, x, s, ac)  

    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))  

    a = RotateLeft(a, s)  

    a = AddUnsigned(a, b)  

End Sub  

 

Private Sub md5_II(a, b, c, d, x, s, ac)  

    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))  

    a = RotateLeft(a, s)  

    a = AddUnsigned(a, b)  

End Sub  

 

Private Function ConvertToWordArray(sMessage)  

    Dim lMessageLength  

    Dim lNumberOfWords  

    Dim lWordArray()  

    Dim lBytePosition  

    Dim lByteCount  

    Dim lWordCount  

      

    Const MODULUS_BITS = 512 

    Const CONGRUENT_BITS = 448 

      

    lMessageLength = Len(sMessage)  

      

    lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS)  BITS_TO_A_BYTE))

  (MODULUS_BITS  BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS  BITS_TO_A_WORD)  

    ReDim lWordArray(lNumberOfWords - 1)  

      

    lBytePosition = 0 

    lByteCount = 0 

    Do Until lByteCount >

微信扫一扫

第七城市微信公众平台