Source code for M2Crypto.RC4

from __future__ import absolute_import

"""M2Crypto wrapper for OpenSSL RC4 API.

Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved."""

from M2Crypto.m2 import rc4_free, rc4_new, rc4_set_key, rc4_update


[docs] class RC4(object): """Object interface to the stream cipher RC4.""" rc4_free = rc4_free def __init__(self, key=None): # type: (bytes) -> None self.cipher = rc4_new() if key: rc4_set_key(self.cipher, key) def __del__(self): # type: () -> None if getattr(self, 'cipher', None): self.rc4_free(self.cipher)
[docs] def set_key(self, key): # type: (bytes) -> None rc4_set_key(self.cipher, key)
[docs] def update(self, data): # type: (bytes) -> bytes return rc4_update(self.cipher, data)
[docs] def final(self): # type: () -> str return ''