]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/batcher/rc4.py
b926f7db34c9f361503eee19f7f4d71defee33a6
2 def __init__(self
, key
, burn
=4096):
8 j
= (j
+ s
[i
] + ord(key
[i
% len(key
)])) % 256
9 s
[j
], s
[i
] = s
[i
], s
[j
]
11 self
.crypt("\x00" * burn
)
13 def crypt(self
, data
):
17 for r
in xrange(len(data
)):
19 j
= (j
+ self
.__s
[i
]) % 256
20 self
.__s
[i
], self
.__s
[j
] = self
.__s
[j
], self
.__s
[i
]
21 ret
.append(chr(ord(data
[r
]) ^ self
.__s
[(self
.__s
[i
] + self
.__s
[j
]) % 256]))