]> www.wagner.pp.ru Git - oss/ctypescrypto.git/blobdiff - ctypescrypto/cipher.py
more style cleanup
[oss/ctypescrypto.git] / ctypescrypto / cipher.py
index 367f2b937767a742d2a74b7cc1d2d501a303a722..a0a9ac33edc3912021a2f826cf04edad660fb788 100644 (file)
@@ -12,6 +12,8 @@ CIPHER_MODES = ("STREAM","ECB","CBC", "CFB", "OFB", "CTR","GCM")
 
 #
 
+__all__ = ['CipherError','new','Cipher','CipherType']
+
 class CipherError(LibCryptoError):
        pass
 
@@ -77,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
@@ -115,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")
                        
@@ -126,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")
@@ -149,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):
@@ -169,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)
@@ -206,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