懂易语言与VB(Asp)的高手请进,翻译一段代码,100分悬赏!

下面这段是易语言代码,请帮我转成Asp代码,谢谢!100分

.版本 2
.子程序 RC4解密, 文本型, , 对RC4算法加密过的文本进行解密(返回解密后的文本)
.参数 密文, 文本型, , 欲解密的密文
.参数 密钥, 文本型, 可空, 用作解密的密钥(加密时使用的)
.局部变量 临时, 字节型, , "0"
.局部变量 s, 字节型, , "256"
.局部变量 k, 字节型, , "256"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 y, 整数型
.局部变量 outstr, 字节型, , "0"
.局部变量 temp, 字节型
.局部变量 x, 整数型
.局部变量 t, 整数型
.局部变量 计次, 整数型
密文 = 子文本替换 (密文, “,”, , , , 真)
.变量循环首 (1, 取文本长度 (密文), 2, 计次)
加入成员 (临时, 到字节 (转换十六进制到十进制 (取文本中间 (密文, 计次, 2))))
.变量循环尾 ()
.计次循环首 (256, i)
s [i] = i - 1
.计次循环尾 ()
j = 1
.计次循环首 (256, i)
.如果真 (j > 取文本长度 (密钥))
j = 1
.如果真结束
k [i] = 取代码 (取文本中间 (密钥, j, 1), )
j = j + 1
.计次循环尾 ()
j = 0
.计次循环首 (256, i)
j = (j + s [i] + k [i]) % 256 + 1
temp = s [i]
s [i] = s [j]
s [j] = temp
.计次循环尾 ()
i = 0
j = 0
.计次循环首 (取数组成员数 (临时), x)
i = (i + 1) % 256 + 1
j = (j + s [i]) % 256 + 1
temp = s [i]
s [i] = s [j]
s [j] = temp
t = (s [i] + s [j] % 256) % 256 + 1
y = s [t]
加入成员 (outstr, 位异或 (临时 [x], y))
.计次循环尾 ()
返回 (到文本 (outstr))
赏金提高至200金了谢谢大家!我要的是这段易语言代码,翻译成Asp!你们发的不通用的唉~

第1个回答  2012-12-26
VB版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 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
第2个回答  2012-12-27
楼上剑舞伊人不是给出ASP的算法了么, main()是测试程序,用变量名=RC4("密文",key)的方式来调用RC4加密或解密。

asp代码只需调用以下保存为rc4.asp的代码即可:
<%
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

%>
然后在调用算法的页面插入<!--#include file="rc4.asp"-->就可以用“变量名=rc4("明文或密文","密码")的方式使用rc4加密或解密了。本回答被网友采纳
第3个回答  2013-01-01
向上滚动一行----编辑框发送消息(277,0,0)

向下滚动一行----编辑框和发送信息(277,1,0)
第4个回答  2012-12-26
易语言不会 会C 会PHP ASP
你直接把要的说出来追问

就是讲一点易语言的RC4解密代码翻译成Asp,我可以解说,你有QQ吗?

第5个回答  2012-12-26
头痛...你还不如你把你的要求直接写出来,不懂上边这语言,没用过追问

就是讲一点易语言的RC4解密代码翻译成Asp,我可以解说,你有QQ吗?

相似回答