求RC4算法源码

wxskysoft 2003-04-04 10:21:55
我一直在找VB的RC4源码,找了很多但没有一个可以正确运行的。请帮我指出下面的错误或提供正确的源码!

Public Function Encrypt(ByVal strPassword As String, ByVal strKey As String) As String

Dim i As Long, j As Long, K As Long, x As Long
Dim KeyLen As Long, PLen As Long
Dim temp As Byte

Dim PByteArray() As Byte, KByteArray() As Byte, TByteArray(0 To 255) As Byte

KByteArray = StrConv(strKey, vbFromUnicode)
KeyLen = UBound(KByteArray) + 1

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

For i = 0 To 255
j = (j + TByteArray(i) + KByteArray(i Mod KeyLen)) Mod 256
temp = TByteArray(i)
TByteArray(i) = TByteArray(j)
TByteArray(j) = temp
Next

PByteArray = StrConv(strPassword, vbFromUnicode)
PLen = UBound(PByteArray)

i = 0
j = 0
For x = 0 To PLen
i = (i + 1) Mod 256
j = (j + TByteArray(i)) Mod 256
temp = TByteArray(i)
TByteArray(i) = TByteArray(j)
TByteArray(j) = temp
PByteArray(x) = PByteArray(x) Xor TByteArray((TByteArray(i) + TByteArray(j)) Mod 256)
Next
Encrypt = StrConv(PByteArray, vbUnicode)

End Function
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
diyee 2003-08-02
  • 打赏
  • 举报
回复
up
高手就是高手。
strongfisher 2003-08-02
  • 打赏
  • 举报
回复
vikingleo 2003-08-02
  • 打赏
  • 举报
回复
UP
lihonggen0 2003-04-04
  • 打赏
  • 举报
回复
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


7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧