对称加密使用相同的密钥进行加密和解密,是最常用的加密方式。
高级加密标准:
from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad key = b'sixteen byte key' cipher = AES.new(key, AES.MODE_CBC) # 加密 plaintext = b'Hello, World!' ciphertext = cipher.encrypt(pad(plaintext, AES.block_size)) # 解密 decipher = AES.new(key, AES.MODE_CBC, cipher.iv) decrypted = unpad(decipher.decrypt(ciphertext), AES.block_size)
Google推崇的流密码:
已不推荐使用:
不推荐使用:
最常用:
明文块1 -> 加密 -> 密文块1 ⊕ IV -> 密文块0
认证加密:
AES-128:16字节 AES-192:24字节 AES-256:32字节(推荐)
# 使用环境变量 import os key = os.environ.get('ENCRYPTION_KEY') # 使用密钥管理服务 from aws_kms import get_key key = get_key('key-id')
定期更换密钥:
对称加密高效安全,但密钥管理是关键。