首页 > 考试 > 等级考试 > 二级 > Visual Basic >

经典加密算法在VB中的实现:RC4

2010-03-30

  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

  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
相关文章
最新文章
热点推荐