许多开发者在学习Python的TextBlub库时,常常会好奇:这个库能否用于文本的加密或解密操作?
实际上,TextBlub的核心功能集中于自然语言处理(NLP),例如情感分析、词性标注与文本翻译等任务,并不包含加密解密模块。若您需要对敏感信息或文本内容进行加密保护,应当选用专门的加密工具库。

在Python丰富的生态中,实现文本加密与解密的方案众多。本文将以广泛使用的对称加密算法AES为例,结合备受信赖的 pycryptodome 库(通常通过 Crypto 模块导入),为您演示一套完整的加密解密流程。
以下示例代码清晰地展示了如何使用AES算法对一段文本进行加密,并随后将其安全解密还原:
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
import base64
def encrypt_text(key, text):
cipher = AES.new(key, AES.MODE_EAX)
ciphertext, tag = cipher.encrypt_and_digest(text.encode())
return base64.b64encode(cipher.nonce + tag + ciphertext)
def decrypt_text(key, encrypted_text):
encrypted_text = base64.b64decode(encrypted_text)
nonce = encrypted_text[:AES.block_size]
tag = encrypted_text[AES.block_size:AES.block_size+16]
ciphertext = encrypted_text[AES.block_size+16:]
cipher = AES.new(key, AES.MODE_EAX, nonce)
decrypted_text = cipher.decrypt_and_verify(ciphertext, tag)
return decrypted_text.decode()
# 生成一个随机的密钥
key = get_random_bytes(16)
# 加密文本
text = "Hello, world!"
encrypted_text = encrypt_text(key, text)
print("Encrypted text:", encrypted_text)
# 解密文本
decrypted_text = decrypt_text(key, encrypted_text)
print("Decrypted text:", decrypted_text)
这段代码的工作原理十分明确:encrypt_text 函数负责执行加密过程,它会生成随机数(nonce)与认证标签(tag),将密文与之组合后进行Base64编码;而 decrypt_text 函数则执行相反步骤,先进行解码,再分离各组成部分,最终验证并解密出原始文本。
需要重点强调的是,对称加密的安全性完全依赖于密钥。示例中通过 get_random_bytes 生成的密钥,在实际应用场景中必须进行安全存储与严格管理。一旦密钥泄露,所有加密保护将即刻失效。因此,密钥管理往往是比选择加密算法更为关键的安全环节。
