Python文件加密和解密可以通过使用加密算法和相应的密钥来实现。以下是一个简单的示例:
加密文件:
from cryptography.fernet import Fernet
def encrypt_file(file_path, key):
with open(file_path, 'rb') as file:
data = file.read()
fernet = Fernet(key)
encrypted_data = fernet.encrypt(data)
with open(file_path, 'wb') as file:
file.write(encrypted_data)
# 使用一个随机生成的密钥
key = Fernet.generate_key()
# 加密文件
encrypt_file('plain.txt', key)
解密文件:
from cryptography.fernet import Fernet
def decrypt_file(file_path, key):
with open(file_path, 'rb') as file:
encrypted_data = file.read()
fernet = Fernet(key)
decrypted_data = fernet.decrypt(encrypted_data)
with open(file_path, 'wb') as file:
file.write(decrypted_data)
# 使用之前生成的密钥
key = b'your_generated_key'
# 解密文件
decrypt_file('encrypted.txt', key)
上述示例使用了cryptography
库中的Fernet
算法来进行文件加密和解密。在加密时,读取文件内容并使用密钥对其进行加密,然后将加密后的数据写回到文件中。在解密时,读取加密后的文件内容并使用密钥对其进行解密,然后将解密后的数据写回到文件中。请注意,密钥需要在加密和解密时保持一致。
需要注意的是,文件加密和解密是一种基本的保护文件内容的方法,但它并不能防止其他类型的攻击或者保护文件的完整性。在使用文件加密和解密时,确保密钥的安全性非常重要。