ASP加密解密函数问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 19:59:47
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

上面这个函数提示语句未结束
RShift = (lValue And &H7FFFFFFE) m_l2Power(iShiftBits)
Function Encrypt(txt,key)

Randomize(CDbl(timer()))

不知道你想把md5文件给怎么着。。。。。。你不是想发明个md6算法吧。。。
应该是这样的
RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
你原来的写法肯定提示你语句没结束。
以下是md5.asp全部内容:
<%
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
LShif