TextBlob库本身并不提供加密和解密文本的功能
1、使用cryptography
库进行加密和解密:
首先,需要安装cryptography
库。可以使用以下命令安装:
pip install cryptography
然后,可以使用以下代码进行加密和解密:
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
库。可以使用以下命令安装:
pip install pycryptodome
然后,可以使用以下代码进行加密和解密:
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'<KEY>
解密后的文本: Hello, world!
在这两个示例中,我们分别使用了cryptography
库和pycryptodome
库进行加密和解密。需要注意的是,加密后的文本是二进制数据,因此在输出时需要进行编码转换。在解密时,需要先将二进制数据解码还原为原始格式。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1027628.html