Python RC4 Cipher

// RC4 implementation in python

def rc4crypt(data, key):
    x = 0
    box = range(256)
    for i in range(256):
        x = (x + box[i] + ord(key[i % len(key)])) % 256
        box[i], box[x] = box[x], box[i]
    x,y = 0, 0
    out = []
    for char in data:
        x = (x + 1) % 256
        y = (y + box[x]) % 256
        box[x], box[y] = box[y], box[x]
        out.append(chr(ord(char) ^ box[(box[x] + box[y]) % 256]))
    return ''.join(out)

1 Comment

  1. gravatar
    subhasri said:

    I am unable to run this code in Python3. Pls help me.
    Thank you in advance

    2011-02-16 09:34

Post A Comment