X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=ctypescrypto%2Fcipher.py;h=a0a9ac33edc3912021a2f826cf04edad660fb788;hb=ec92bf04b008b0401014cae90fa2dfca18efa02c;hp=332272570f824c9830dbe003a09c123f138b5aa7;hpb=0032b97ea6d4348c0f11ee160c824ebe2e181696;p=oss%2Fctypescrypto.git diff --git a/ctypescrypto/cipher.py b/ctypescrypto/cipher.py index 3322725..a0a9ac3 100644 --- a/ctypescrypto/cipher.py +++ b/ctypescrypto/cipher.py @@ -79,7 +79,7 @@ class CipherType: """ Return cipher's algorithm name, derived from OID """ - return self.oid().short_name() + return self.oid().shortname() def oid(self): """ Returns ASN.1 object identifier of the cipher as @@ -117,10 +117,7 @@ class Cipher: if self.ctx == 0: raise CipherError("Unable to create cipher context") self.encrypt = encrypt - if encrypt: - enc = 1 - else: - enc = 0 + enc=1 if encrypt else 0 if not iv is None and len(iv) != cipher_type.iv_length(): raise ValueError("Invalid IV length for this algorithm") @@ -128,7 +125,7 @@ class Cipher: if (cipher_type.flags() & 8) != 0: # Variable key length cipher. result = libcrypto.EVP_CipherInit_ex(self.ctx, cipher_type.cipher, None, None, None, c_int(enc)) - result=libcrypto.EVP_CIPHER_CTX_set_key_length(self.ctx,len(key)) + result = libcrypto.EVP_CIPHER_CTX_set_key_length(self.ctx,len(key)) if result == 0: self._clean_ctx() raise CipherError("Unable to set key length") @@ -151,10 +148,7 @@ class Cipher: """ Sets padding mode of the cipher """ - if padding: - padding_flag = 1 - else: - padding_flag = 0 + padding_flag=1 if padding else 0 libcrypto.EVP_CIPHER_CTX_set_padding(self.ctx, padding_flag) def update(self, data): @@ -171,9 +165,9 @@ class Cipher: """ if self.cipher_finalized : raise CipherError("No updates allowed") - if type(data) != type(""): + if not isinstance(data,str): raise TypeError("A string is expected") - if len(data) <= 0: + if len(data) == 0: return "" outbuf=create_string_buffer(self.block_size+len(data)) outlen=c_int(0) @@ -208,8 +202,8 @@ class Cipher: def _clean_ctx(self): try: if self.ctx is not None: - self.libcrypto.EVP_CIPHER_CTX_cleanup(self.ctx) - self.libcrypto.EVP_CIPHER_CTX_free(self.ctx) + libcrypto.EVP_CIPHER_CTX_cleanup(self.ctx) + libcrypto.EVP_CIPHER_CTX_free(self.ctx) del(self.ctx) except AttributeError: pass