.版本 2
.子程序 加密为rc4, 文本型, 公开, 用RC4算法对文本进行加密
.参数 加密的数据, 文本型, , 欲加密的文本
.参数 加密密钥, 文本型, 可空, 用作加密的密码
.局部变量 临时, 字节集
.局部变量 s, 字节型, , "256"
.局部变量 k, 字节型, , "256"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 y, 整数型
.局部变量 outstr, 文本型
.局部变量 temp, 字节型
.局部变量 x, 整数型
.局部变量 t, 整数型
.局部变量 aaa, 文本型
临时 = 到字节集 (文本)
.计次循环首 (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]
aaa = 到十六进制文本 (位异或 (临时 [x], y))
outstr = outstr + 选择 (取文本长度 (aaa) > 1, “”, “0”) + aaa + “,”
.计次循环尾 ()
返回 (outstr)
.子程序 到十六进制文本, 文本型
.参数 数值, 整数型, ,
返回 (多项选择 (右移 (数值, 4) + 1, “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “A”, “B”, “C”, “D”, “E”, “F”) + 多项选择 (位与 (数值, 15) + 1, “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “A”, “B”, “C”, “D”, “E”, “F”))