in alibabacloud_oss_v2/crypto/aes_ctr.py [0:0]
def encrypt(self, src: Any) -> Any:
"""encrypt data
"""
if not self.no_str and isinstance(src, str):
return self._get_cipher().encrypt(src.encode())
if not self.no_bytes and isinstance(src, bytes):
return self._get_cipher().encrypt(src)
# file-like object
if hasattr(src, 'seek') and hasattr(src, 'read'):
return FileLikeEncryptor(reader=src, cipher_data=self.cipher_data, offset=self.offset)
if isinstance(src, Iterator):
return IteratorEncryptor(iterator=src, cipher_data=self.cipher_data, counter=self.counter)
if isinstance(src, Iterable):
return IterableEncryptor(iterable=src, cipher_data=self.cipher_data, counter=self.counter)
raise TypeError(f'src is not str/bytes/file-like/Iterable type, got {type(src)}')