是的,Python的Crypto庫支持對稱加密。Crypto庫提供了多種加密算法,包括對稱加密算法,如AES(高級加密標(biāo)準(zhǔn))、DES(數(shù)據(jù)加密標(biāo)準(zhǔn))、Triple DES(三重數(shù)據(jù)加密算法)等。這些算法可以使用Crypto庫中的對應(yīng)模塊進行加密和解密操作。
例如,使用AES算法進行對稱加密和解密的示例代碼如下:
from Crypto.Cipher import AES
from Crypto import Random
# 生成隨機密鑰
key = Random.new().read(32) # AES算法使用32字節(jié)密鑰
# 創(chuàng)建AES加密對象
cipher = AES.new(key, AES.MODE_EAX)
# 加密數(shù)據(jù)
nonce = cipher.nonce
ciphertext, tag = cipher.encrypt_and_digest(b'Hello, world!')
# 使用相同的密鑰和nonce進行解密
cipher2 = AES.new(key, AES.MODE_EAX, nonce=nonce)
plaintext = cipher2.decrypt(ciphertext)
print(plaintext) # 輸出:b'Hello, world!'
需要注意的是,在使用對稱加密算法時,密鑰的生成和管理非常重要。在實際應(yīng)用中,應(yīng)該使用安全的隨機數(shù)生成器來生成密鑰,并妥善保管密鑰,避免泄露。