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')) # 輸出原始數據
請注意,在實際應用中,密鑰的管理非常重要。確保密鑰的安全存儲和傳輸對于保護加密數據至關重要。