def encrypt()

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)}')