Public Function RC4_Encrypt(ByVal strExpression As String, ByVal strPassword As String) As String
On Error Resume Next
Dim intRB(0 To 255) As Integer
Dim lonX As Long
Dim lonY As Long
Dim lonZ As Long
Dim Key() As Byte
Dim ByteArray() As Byte
Dim strTemp As Byte
If Len(strPassword) = 0 Then
Exit Function
End If
If Len(strExpression) = 0 Then
Exit Function
End If
If Len(strPassword) > 256 Then
Key() = StrConv(Left$(strPassword, 256), vbFromUnicode)
Else
Key() = StrConv(strPassword, vbFromUnicode)
End If
For lonX = 0 To 255
intRB(lonX) = lonX
Next lonX
lonX = 0
lonY = 0
lonZ = 0
For lonX = 0 To 255
lonY = (lonY + intRB(lonX) + Key(lonX Mod Len(strPassword))) Mod 256
strTemp = intRB(lonX)
intRB(lonX) = intRB(lonY)
intRB(lonY) = strTemp
Next lonX
lonX = 0
lonY = 0
lonZ = 0
08-19
09-26