这是加密,求解密
Public Function Encrypt(strEncrypt As String) As String
Dim I As Long
Dim X As Single
Dim lngCharNum As Long
Dim intRandom As Integer
Dim strSingleChar As String
Dim strTmp As String
Dim lngOffset As Long
Dim strPassWord As String
Dim szRowPass As String
On Error GoTo Err_Handler
strPassWord = Left(strEncrypt, 28)
szRowPass = strPassWord
strEncrypt = Mid(strEncrypt, 29)
For I = 1 To Len(strEncrypt) Step 1 '取单字节内容
strSingleChar = Mid(strEncrypt, I, 1)
lngCharNum = Asc(strSingleChar)
If I > Len(strPassWord) Then
strPassWord = strPassWord & strPassWord
End If
lngCharNum = lngCharNum Xor Asc(Mid(strPassWord, I, 1))
If lngCharNum = 0 Then
lngCharNum = Asc(Mid(strPassWord, I, 1))
End If
strTmp = strTmp & Chr(lngCharNum)
Next I
Encrypt = szRowPass & strTmp
Exit Function
Err_Handler:
Encrypt = ""
End Function
Public Function Encrypt(strEncrypt As String) As String
Dim I As Long
Dim X As Single
Dim lngCharNum As Long
Dim intRandom As Integer
Dim strSingleChar As String
Dim strTmp As String
Dim lngOffset As Long
Dim strPassWord As String
Dim szRowPass As String
On Error GoTo Err_Handler
strPassWord = Left(strEncrypt, 28)
szRowPass = strPassWord
strEncrypt = Mid(strEncrypt, 29)
For I = 1 To Len(strEncrypt) Step 1 '取单字节内容
strSingleChar = Mid(strEncrypt, I, 1)
lngCharNum = Asc(strSingleChar)
If I > Len(strPassWord) Then
strPassWord = strPassWord & strPassWord
End If
lngCharNum = lngCharNum Xor Asc(Mid(strPassWord, I, 1))
If lngCharNum = 0 Then
lngCharNum = Asc(Mid(strPassWord, I, 1))
End If
strTmp = strTmp & Chr(lngCharNum)
Next I
Encrypt = szRowPass & strTmp
Exit Function
Err_Handler:
Encrypt = ""
End Function
lngCharNum = lngCharNum Xor Asc(Mid(strPassWord, I, 1))
等于没加密。
Debug.Print Encrypt(Encrypt(sEnc))