OLD | NEW |
1 """OpenSSL/M2Crypto RC4 implementation.""" | 1 """OpenSSL/M2Crypto RC4 implementation.""" |
2 | 2 |
3 from cryptomath import * | 3 from cryptomath import * |
4 from RC4 import RC4 | 4 from rc4 import RC4 |
5 | 5 |
6 if m2cryptoLoaded: | 6 if m2cryptoLoaded: |
7 | 7 |
8 def new(key): | 8 def new(key): |
9 return OpenSSL_RC4(key) | 9 return OpenSSL_RC4(key) |
10 | 10 |
11 class OpenSSL_RC4(RC4): | 11 class OpenSSL_RC4(RC4): |
12 | 12 |
13 def __init__(self, key): | 13 def __init__(self, key): |
14 RC4.__init__(self, key, "openssl") | 14 RC4.__init__(self, key, "openssl") |
15 self.rc4 = m2.rc4_new() | 15 self.rc4 = m2.rc4_new() |
16 m2.rc4_set_key(self.rc4, key) | 16 m2.rc4_set_key(self.rc4, key) |
17 | 17 |
18 def __del__(self): | 18 def __del__(self): |
19 m2.rc4_free(self.rc4) | 19 m2.rc4_free(self.rc4) |
20 | 20 |
21 def encrypt(self, plaintext): | 21 def encrypt(self, plaintext): |
22 return m2.rc4_update(self.rc4, plaintext) | 22 return m2.rc4_update(self.rc4, plaintext) |
23 | 23 |
24 def decrypt(self, ciphertext): | 24 def decrypt(self, ciphertext): |
25 return self.encrypt(ciphertext) | 25 return self.encrypt(ciphertext) |
OLD | NEW |