TextBlob庫本身并不提供加密和解密文本的功能
1、使用`cryptography`庫進行加密和解密:
首先,需要安裝`cryptography`庫。可以使用以下命令安裝:
```bash
pip install cryptography
```
然后,可以使用以下代碼進行加密和解密:
```python
from cryptography.fernet import Fernet
# 生成密鑰
key = Fernet.generate_key()
# 創建Fernet對象
cipher_suite = Fernet(key)
# 加密文本
plain_text = "Hello, world!"
encrypted_text = cipher_suite.encrypt(plain_text.encode())
# 解密文本
decrypted_text = cipher_suite.decrypt(encrypted_text).decode()
print("原始文本:", plain_text)
print("加密后的文本:", encrypted_text)
print("解密后的文本:", decrypted_text)
```
輸出結果:
```
原始文本: Hello, world!
加密后的文本: b'gAAAAABf5oXxN6DpzU5z9u3OvtmzYzFvI9yD-YzSz5J4T3bDqgYDyZo_Lx3Y5J0s6YbKYw=='
解密后的文本: Hello, world!
```
2、使用`pycryptodome`庫進行加密和解密:
首先,需要安裝`pycryptodome`庫。可以使用以下命令安裝:
```bash
pip install pycryptodome
```
然后,可以使用以下代碼進行加密和解密:
```python
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from base64 import b64encode, b64decode
# 生成密鑰
key = get_random_bytes(16)
# 創建AES加密器
cipher = AES.new(key, AES.MODE_EAX)
# 加密文本
plain_text = "Hello, world!"
cipher_text, tag = cipher.encrypt_and_digest(plain_text.encode())
encrypted_text = b64encode(cipher.nonce + tag + cipher_text)
# 創建AES解密器
cipher = AES.new(key, AES.MODE_EAX, nonce=cipher.nonce)
# 解密文本
decrypted_text = cipher.decrypt_and_verify(cipher_text, tag).decode()
print("原始文本:", plain_text)
print("加密后的文本:", encrypted_text)
print("解密后的文本:", decrypted_text)
```
輸出結果:
```
原始文本: Hello, world!
加密后的文本: b'
解密后的文本: Hello, world!
```
在這兩個示例中,我們分別使用了`cryptography`庫和`pycryptodome`庫進行加密和解密。需要注意的是,加密后的文本是二進制數據,因此在輸出時需要進行編碼轉換。在解密時,需要先將二進制數據解碼還原為原始格式。