经典加密算法在VB中的实现(3)-RC4

发表于:2007-05-25来源:作者:点击数: 标签:算法-RC4加密实现经典
Public Sub main() Dim key As String For i = 1 To 16 Randomize key = key Chr(Rnd * 255) Next i MsgBox RC4(RC4("Welcome To Plindge Studio!", key), key) End Sub Public Function RC4(inp As String, key As String) As String Dim S(0 To 255) As By

 

Public Sub main()
Dim key As String
For i = 1 To 16
    Randomize
    key = key & Chr(Rnd * 255)
Next i
MsgBox RC4(RC4("Welcome To Plindge Studio!", key), key)
End Sub
Public Function RC4(inp As String, key As String) As String
Dim S(0 To 255) As Byte, K(0 To 255) As Byte, i As Long
Dim j As Long, temp As Byte, Y As Byte, t As Long, x As Long
Dim Outp As String

For i = 0 To 255
    S(i) = i
Next

j = 1
For i = 0 To 255
    If j > Len(key) Then j = 1
    K(i) = Asc(Mid(key, j, 1))
    j = j + 1
Next i

j = 0
For i = 0 To 255
    j = (j + S(i) + K(i)) Mod 256
    temp = S(i)
    S(i) = S(j)
    S(j) = temp
Next i

i = 0
j = 0
For x = 1 To Len(inp)
    i = (i + 1) Mod 256
    j = (j + S(i)) Mod 256
    temp = S(i)
    S(i) = S(j)
    S(j) = temp
    t = (S(i) + (S(j) Mod 256)) Mod 256
    Y = S(t)
    
    Outp = Outp & Chr(Asc(Mid(inp, x, 1)) Xor Y)
Next
RC4 = Outp
End Function
clearcase/" target="_blank" >cc>经典加密算法在VB中的实现(1)- Base64
经典加密算法在VB中的实现(2)- MD5
经典加密算法在VB中的实现(4)- DES

原文转自:http://www.ltesting.net