Python中实现对称加密的常用算法包括DES、Triple DES和AES。以下是这些算法的简要介绍:
在Python中,可以使用pycryptodome
库来实现这些对称加密算法。例如,要使用AES算法进行加密和解密,可以执行以下操作:
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
# 生成随机密钥
key = get_random_bytes(16) # 对于AES-128,密钥长度为16字节
# 创建一个AES cipher对象
cipher = AES.new(key, AES.MODE_CBC)
# 要加密的数据
data = b'This is a secret message'
# 对数据进行填充以满足AES块大小要求
padded_data = pad(data, AES.block_size)
# 加密数据
ciphertext = cipher.encrypt(padded_data)
# 要解密的数据(与加密时的数据相同)
decrypted_data = cipher.decrypt(ciphertext)
# 对解密后的数据进行去填充
original_data = unpad(decrypted_data, AES.block_size)
print(original_data.decode('utf-8')) # 输出原始数据
请注意,在实际应用中,密钥的管理非常重要。确保密钥的安全存储和传输对于保护加密数据至关重要。