Of course! Here is a comprehensive guide to encryption in Python, covering the essential concepts, built-in libraries, and a practical example.

Core Concepts Before You Start
Before diving into code, it's crucial to understand these terms:
- Plaintext: The original, readable data you want to protect.
- Ciphertext: The scrambled, unreadable data that results from encryption.
- Encryption: The process of converting plaintext into ciphertext using an algorithm and a key.
- Decryption: The process of converting ciphertext back into plaintext using the same (or a related) key.
- Key: A secret piece of information (like a password or a long string of random characters) that the encryption algorithm uses to scramble and unscramble the data. The security of your encryption depends entirely on the security of your key.
- Algorithm (Cipher): The mathematical procedure used for encryption and decryption (e.g., AES, RSA, ChaCha20).
Part 1: Symmetric Encryption (Using the cryptography library)
Symmetric encryption uses the same key for both encryption and decryption. It's fast and efficient, making it ideal for encrypting large amounts of data, like files or database fields.
The most recommended library for this in Python is cryptography. It's modern, well-documented, and uses industry-standard algorithms like AES (Advanced Encryption Standard).
Installation
First, you need to install the library:

pip install cryptography
Example: Encrypting and Decrypting a String
This example uses the Fernet scheme, which is a high-level recipe that uses AES-128 in CBC mode with PKCS7 padding and HMAC for authentication. It's perfect for most use cases.
from cryptography.fernet import Fernet
# 1. Generate a Key. In a real application, you would load this key from a secure location.
# NEVER hardcode the key in your source code for production applications.
key = Fernet.generate_key()
cipher_suite = Fernet(key)
print(f"Generated Key: {key.decode()}")
# 2. Encrypt the plaintext
plaintext = b"This is a secret message that needs to be protected."
# The data to be encrypted must be in bytes.
ciphertext = cipher_suite.encrypt(plaintext)
print(f"Ciphertext: {ciphertext}")
# 3. Decrypt the ciphertext
decrypted_text = cipher_suite.decrypt(ciphertext)
print(f"Decrypted Text: {decrypted_text.decode()}")
Output:
Generated Key: gza5sZQ7kxY6tX2j8sP9yA6mG3nB7vC1zR5tX2j8sP9yA6mG3nB7vC1zR5tA==
Ciphertext: gAAAAABhZGl5eXplcmRlcmVkX2V4cG9ydGVyX2tleV9jb25maWd1cmF0aW9uX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2xkX2tleV9hY2Nlc3NfdGhyZXNob2x
