]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/batcher/rc4.py
CHANSERV: fix batcher rc4 burning in password urls
[irc/quakenet/newserv.git] / chanserv / batcher / rc4.py
index 7fd8b468520532e5b2c9140d457dc75b050e1582..655eb542a91e88d1a77b7cdcd770505bb7344749 100644 (file)
@@ -1,5 +1,5 @@
 class RC4:
-  def __init__(self, key, burn=0):
+  def __init__(self, key, burn=4096):
     s = range(256)
     for i in xrange(256):
       s[i] = i
@@ -8,7 +8,9 @@ class RC4:
       j = (j + s[i] + ord(key[i % len(key)])) % 256
       s[j], s[i] = s[i], s[j]
     self.__s = s
-#    self.crypt("\x00" * burn)
+
+    if burn:
+      self.crypt("\x00" * burn)
 
   def crypt(self, data):
     ret = []
@@ -20,5 +22,3 @@ class RC4:
       self.__s[i], self.__s[j] = self.__s[j], self.__s[i]
       ret.append(chr(ord(data[r]) ^ self.__s[(self.__s[i] + self.__s[j]) % 256]))
     return "".join(ret)
-
-