Switch to edit mode.
Name(s): rc41: {text, key} = args
2: key = decode_binary(key, 1)
3: S = K = {}
4: for x in [0..255]
5: S = {@S, x}
6: K = {@K, key[x % $ + 1]}
7: endfor
8: j = 0
9: for x in [0..255]
10: j = (j + S[x + 1] + K[x + 1]) % 256
11: t = S[j + 1]
12: S[j + 1] = S[x + 1]
13: S[x + 1] = t
14: endfor
15: i = j = 0
16: out = {}
17: for x in (decode_binary(text, 1))
18: i = (i + 1) % 256
19: j = (j + S[i + 1]) % 256
20: t = S[j + 1]
21: S[j + 1] = S[i + 1]
22: S[i + 1] = t
23: K = S[(S[i + 1] + S[j + 1]) % 256 + 1]
24: out = {@out, $math_utils:XOR(x, K)}
25: endfor
26: return encode_binary(out)
27: "Last modified by manta (#7165) on Tue Feb 24 12:32:35 1998 EST."
28: "This verb previously owned by manta (#7165), and chowned to $slacker upon dewizarding (Sat Aug 17 14:50:04 2002 MDT)."
29: "Last modified by Dax (#789) on Sat Aug 17 14:50:04 2002 MDT."