python实现AES算法的文件加密
时间: 2024-09-29 09:14:54 浏览: 48
python实现对称加密中AES算法工程文件
在Python中,我们可以使用`cryptography`库来实现AES(Advanced Encryption Standard)算法的文件加密。首先,需要安装这个库,可以使用pip命令:
```bash
pip install cryptography
```
下面是一个简单的示例,展示如何使用AES对文件进行加密和解密:
```python
from cryptography.fernet import Fernet
import os
# 生成一个Fernet密钥
key = Fernet.generate_key()
# 将密钥保存到文件(例如 key.txt)
with open('key.txt', 'wb') as key_file:
key_file.write(key)
def encrypt_file(plaintext_path, encrypted_path):
with open(plaintext_path, 'rb') as plaintext_file:
data = plaintext_file.read()
f = Fernet(key)
ciphertext = f.encrypt(data)
with open(encrypted_path, 'wb') as encrypted_file:
encrypted_file.write(ciphertext)
def decrypt_file(encrypted_path, decrypted_path):
with open(encrypted_path, 'rb') as encrypted_file:
ciphertext = encrypted_file.read()
f = Fernet(key) # 使用相同的密钥解密
plaintext = f.decrypt(ciphertext)
with open(decrypted_path, 'wb') as decrypted_file:
decrypted_file.write(plaintext)
# 加密示例
encrypt_file('original.txt', 'encrypted.txt')
# 解密示例
decrypt_file('encrypted.txt', 'decrypted.txt')
```
在这个例子中,我们创建了一个Fernet实例,它基于AES实现了一种简单且安全的加密。加密和解密过程都需要使用相同的密钥。
阅读全文