用python编写一个文件夹加密和解密程序
时间: 2023-03-25 10:02:47 浏览: 213
您好,我可以回答这个问题。要用 Python 编写文件夹加密和解密程序,可以使用 cryptography 库中的 Fernet 对象。首先,您需要安装 cryptography 库,然后可以使用以下代码进行加密和解密:
```python
from cryptography.fernet import Fernet
import os
# 生成密钥
key = Fernet.generate_key()
# 将密钥保存到文件中
with open('key.key', 'wb') as key_file:
key_file.write(key)
# 读取密钥
with open('key.key', 'rb') as key_file:
key = key_file.read()
# 创建 Fernet 对象
fernet = Fernet(key)
# 加密文件夹中的所有文件
for filename in os.listdir('folder'):
with open(os.path.join('folder', filename), 'rb') as file:
# 读取文件内容
file_data = file.read()
# 加密文件内容
encrypted_data = fernet.encrypt(file_data)
with open(os.path.join('folder', filename), 'wb') as file:
# 将加密后的内容写入文件
file.write(encrypted_data)
# 解密文件夹中的所有文件
for filename in os.listdir('folder'):
with open(os.path.join('folder', filename), 'rb') as file:
# 读取文件内容
encrypted_data = file.read()
# 解密文件内容
decrypted_data = fernet.decrypt(encrypted_data)
with open(os.path.join('folder', filename), 'wb') as file:
# 将解密后的内容写入文件
file.write(decrypted_data)
```
以上代码中,`folder` 是要加密或解密的文件夹路径,`key.key` 是保存密钥的文件名。加密后的文件会覆盖原文件,因此请务必备份原文件。
阅读全文