Python aes加密
时间: 2024-06-23 18:02:03 浏览: 207
Python AES 加密
5星 · 资源好评率100%
Python 中使用 AES(Advanced Encryption Standard)加密,通常会依赖于 `cryptography` 这个库,它提供了丰富的加密和解密功能。以下是一个简单的例子,展示如何使用 `cryptography` 对数据进行AES加密:
```python
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
# 首先,导入必要的模块并设置密钥参数
backend = default_backend()
password = b"your_password" # 密码作为 bytes
salt = b"your_salt" # 可选,增加随机盐值可以提升安全性
kdf = PBKDF2HMAC(algorithm=hashes.SHA256(), length=32, salt=salt, iterations=100000, backend=backend)
# 计算密钥
key = kdf.derive(password)
# 设置AES模式(这里以CBC为例)
cipher = Cipher(algorithms.AES(key), modes.CBC(key[:16]), backend=backend)
# 定义加密器和解密器
encryptor = cipher.encryptor()
decryptor = cipher.decryptor()
# 假设需要加密的数据为 plaintext
plaintext = b"This is a secret message"
# 加密
ciphertext = encryptor.update(plaintext) + encryptor.finalize()
# 输出或保存加密后的数据
print("Encrypted data:", ciphertext)
# 解密
decrypted_text = decryptor.update(ciphertext) + decryptor.finalize()
# 检查是否解密成功
print("Decrypted text:", decrypted_text.decode()) # 如果一切正常,这应该和原始文本一致
阅读全文