使用Python实现一个简单的文件加密解密程序
发布时间:2023-12-04 14:10:12
文件加密解密程序可以通过使用Python中的加密库和文件操作函数来实现。下面是一个简单的示例程序:
import os
import cryptography
from cryptography.fernet import Fernet
def generate_key():
"""生成加密密钥"""
return Fernet.generate_key()
def save_key(key, filename):
"""将密钥保存到文件"""
with open(filename, 'wb') as f:
f.write(key)
def load_key(filename):
"""从文件中加载密钥"""
with open(filename, 'rb') as f:
return f.read()
def encrypt_file(key, filename):
"""加密文件"""
f = Fernet(key)
with open(filename, 'rb') as file:
original_content = file.read()
encrypted_content = f.encrypt(original_content)
with open(filename, 'wb') as file:
file.write(encrypted_content)
def decrypt_file(key, filename):
"""解密文件"""
f = Fernet(key)
with open(filename, 'rb') as file:
encrypted_content = file.read()
decrypted_content = f.decrypt(encrypted_content)
with open(filename, 'wb') as file:
file.write(decrypted_content)
# 生成密钥
key = generate_key()
# 保存密钥到文件
save_key(key, 'key.key')
# 加载密钥
loaded_key = load_key('key.key')
# 加密文件
encrypt_file(loaded_key, 'example.txt')
# 解密文件
decrypt_file(loaded_key, 'example.txt')
上述代码使用了Python中的cryptography库中的Fernet类来实现加密解密操作。首先,使用generate_key()函数生成一个加密密钥,并使用save_key()函数将密钥保存到文件中。然后,使用load_key()函数从文件中加载密钥。接下来,使用encrypt_file()函数将指定文件加密,使用decrypt_file()函数将加密后的文件解密。
在这个示例程序中,我们对同一个文件进行了加密和解密操作,可以根据实际需求修改文件名和路径。
