求ASP反向加密算法,就下面的ASP解密代码还原成VB6.0加密码算法,分全给你们了
代码如下Function jiemi(a)
Dim b,c,d,e,m2,a2
b=Len(a)
m2=Left(a,3)
m2=cint(m2)
a2=Right(a,b-3)
a2=StrReverse(a2)
b=Len(a2)
For i=1 to b step 3
c=mid(a2,i,3)
d=cint(c)
e=e+Chr(d-258-m2)
'数字258为解密码
Next
e=unescape(e)
e=unescape(e)
e=Replace(e,";$","'")
'Response.Write (e)
jiemi=e
End Function
代码如下Function jiemi(a)
Dim b,c,d,e,m2,a2
b=Len(a)
m2=Left(a,3)
m2=cint(m2)
a2=Right(a,b-3)
a2=StrReverse(a2)
b=Len(a2)
For i=1 to b step 3
c=mid(a2,i,3)
d=cint(c)
e=e+Chr(d-258-m2)
'数字258为解密码
Next
e=unescape(e)
e=unescape(e)
e=Replace(e,";$","'")
'Response.Write (e)
jiemi=e
End Function
你的代码用的是VBscript,它和VB几乎通用,所以说,你的代码,在VB下也能运行,还用转什么?
http://hi.baidu.com/chendongbo/blog/item/fc413f12acfe2956f919b847.html
Dim b, c, d, e, m2, a2
b = Len(a)
m2 = Left(a, 3)
m2 = CInt(m2)
a2 = Right(a, b - 3)
a2 = StrReverse(a2)
b = Len(a2)
For i = 1 To b Step 3
c = Mid(a2, i, 3)
d = CInt(c)
e = e + Chr(d - 258 - m2)
'数字258为解密码
Next
e = vbUnEscape(e)
e = vbUnEscape(e)
e = Replace(e, ";$", "'")
'Response.Write (e)
jiemi = e
End FunctionFunction vbUnEscape(psString)
Dim nTemp, sTemp, sTempChar
sTemp = ""
For nTemp = 1 To Len(psString)
sTempChar = Mid(psString, nTemp, 1)
If Mid(psString, nTemp, 2) = "%u" And nTemp <= Len(psString) - 5 Then
If IsNumeric("&H" & Mid(psString, nTemp + 2, 4)) Then
sTemp = sTemp & ChrW(CInt("&H" & Mid(psString, nTemp + 2, 4)))
nTemp = nTemp + 5
Else
sTemp = sTemp & sTempChar
End If
ElseIf sTempChar = "%" And nTemp <= Len(psString) - 2 Then
If IsNumeric("&H" & Mid(psString, nTemp + 1, 2)) Then
sTemp = sTemp & ChrW(CInt("&H" & Mid(psString, nTemp + 1, 2)))
nTemp = nTemp + 2
Else
sTemp = sTemp & c
End If
Else
sTemp = sTemp & sTempChar
End If
Next
vbUnEscape = sTemp
End Function补充下楼上的,不知道正确与否,至少运行是没问题的了