ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> ASP技术
MD5加密算法(asp)
我想 用户密码有加密才是安全的(相对),不是吗?

下面是 md5加密算法!

<%

Private Const BITS_TO_A_BYTE = 8

Private Const BYTES_TO_A_WORD = 4

Private Const BITS_TO_A_WORD = 32



Private m_lOnBits(30)

Private m_l2Power(30)



Private Function LShift(lValue, iShiftBits)

If iShiftBits = 0 Then

LShift = lValue

Exit Function

ElseIf iShiftBits = 31 Then

If lValue And 1 Then

LShift = &H80000000

Else

LShift = 0

End If

Exit Function

ElseIf iShiftBits < 0 Or iShiftBits > 31 Then

Err.Raise 6

End If



If (lValue And m_l2Power(31 - iShiftBits)) Then

LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000

Else

LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))

End If

End Function



Private Function RShift(lValue, iShiftBits)

If iShiftBits = 0 Then

RShift = lValue

Exit Function

ElseIf iShiftBits = 31 Then

If lValue And &H80000000 Then

RShift = 1

Else

RShift = 0

End If

Exit Function

ElseIf iShiftBits < 0 Or iShiftBits > 31 Then

Err.Raise 6

End If



RShift = (lValue And &H7FFFFFFE) m_l2Power(iShiftBits)



If (lValue And &H80000000) Then

RShift = (RShift Or (&H40000000 m_l2Power(iShiftBits - 1)))

End If

End Function



Private Function RotateLeft(lValue, iShiftBits)

RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))

End Function



Private Function AddUnsigned(lX, lY)

Dim lX4

Dim lY4

Dim lX8

Dim lY8

Dim lResult



lX8 = lX And &H80000000

lY8 = lY And &H80000000

lX4 = lX And &H40000000

lY4 = lY And &H40000000



lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)



If lX4 And lY4 Then

lResult = lResult Xor &H80000000 Xor lX8 Xor lY8

ElseIf lX4 Or lY4 Then

If lResult And &H40000000 Then

lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8

Else

lResult = lResult Xor &H40000000 Xor lX8 Xor lY8

End If

Else

lResult = lResult Xor lX8 Xor lY8

End If



AddUnsigned = lResult

End Function



Private Function md5_F(x, y, z)

md5_F = (x And y) Or ((Not x) And z)

End Function



Private Function md5_G(x, y, z)

md5_G = (x And z) Or (y And (Not z))

End Function



Private Function md5_H(x, y, z)

md5_H = (x Xor y Xor z)

End Function



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 >= lMessageLength

lWordCount = lByteCount BYTES_TO_A_WORD

lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO
 
 
本站关键词:
|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请||东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|东莞网站推广策划|东莞域名申请|东莞主机申请|东莞空间申请|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有