RC4经典加密算法VB版本代码
VB版rc4算法
) q" R1 A; Y9 [# H9 F5 S4 F/ U+ G) n9 `
; F3 c: \# s) V& {2 [0 U
% w8 @" q9 d, S( ?Public Sub main()$ \- |( p, A% Z: B" o8 O# T/ I
Dim key As String
% Q1 n( Z5 w d l4 V, U$ sFor i = 1 To 16
; @1 D: ^. m8 p1 o; g7 e, bRandomize: `' y( P6 D- _ M& l
key = key Chr(Rnd * 255)/ H/ V$ ?+ [1 A4 p9 a ?
Next i* k3 R1 w6 W+ b$ I6 f* }/ d2 B
MsgBox RC4(RC4("Welcome To Plindge Studio!", key), key)! w, I9 ]( M* E, o6 g8 `: r$ L: C8 d6 t
End Sub
3 T9 w2 y# V, K4 P) E9 _, UPublic Function RC4(inp As String, key As String) As String
) o& h, J% ]5 G! X+ \ l$ V/ EDim S(0 To 255) As Byte, K(0 To 255) As Byte, i As Long
9 s6 [4 V2 i$ \6 ^: mDim j As Long, temp As Byte, Y As Byte, t As Long, x As Long
; e+ ~1 `0 v3 Q4 U9 PDim Outp As String
( D( |3 I! z" K8 W
! A) j& g5 R- s4 e% eFor i = 0 To 255
& w! e0 E2 m6 L( z% ~1 b) T: cS(i) = i
5 ^2 H9 l3 r" }3 G( H0 O* QNext # j, u' i/ b7 m
9 r. J/ n: `2 @, H# N( ]; I! fj = 1# U; O/ `0 H* t& S' q1 Z
For i = 0 To 2556 I* E6 V9 h& s: D3 a0 Q
If j Len(key) Then j = 12 t/ l3 B* j+ F' ~
K(i) = Asc(Mid(key, j, 1))
# I( P& O& T" L7 W/ }: k( k. Zj = j 1. X- J5 ~& i1 j l9 e! Q
Next i 6 @$ R- Q, J6 s, ?- G1 Q
: t$ p2 m; x* B" q$ t& x
j = 0
2 o1 S: o: C: Q" T3 MFor i = 0 To 255
, U, ~1 m6 j! n- S: sj = (j S(i) K(i)) Mod 2561 K3 ]- H* T+ i- Y5 Z
temp = S(i)
& e" [0 A4 \4 r$ bS(i) = S(j)' O/ |* O" G& I
S(j) = temp9 S+ x% ?; A5 C' U* k
Next i , W; g0 p6 \( i% }0 B
6 C8 H: ^# B# M, m: \2 p: c# j: _. zi = 0
- J: }7 D8 j2 N7 sj = 0+ c) Q- m3 ? x1 z
For x = 1 To Len(inp)9 E% `) Y" K1 K& S
i = (i 1) Mod 256
& ?5 T: n$ x) O6 {+ Xj = (j S(i)) Mod 256/ z9 z0 q4 I: f# P* I9 a% q* c7 E! O
temp = S(i)
7 Q) H N6 z5 F/ q: I" DS(i) = S(j)7 R! m/ n' E! V! T
S(j) = temp+ z: N# c- d( S# T* y7 {
t = (S(i) (S(j) Mod 256)) Mod 256
6 V( u1 [( V: ~- yY = S(t)
/ R5 ~1 z% u' V% Q# V( p- O) w, d" P5 F' t, L8 W+ T) j9 I
Outp = Outp Chr(Asc(Mid(inp, x, 1)) Xor Y)
7 Z& z1 ^4 e2 c3 @Next" B# t# T+ @7 l' A1 ]: _$ o
RC4 = Outp a2 K4 N* w J" \/ p5 a& P5 {' L
End Function
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹