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
算法來進行文件加密和解密。在加密時,讀取文件內容并使用密鑰對其進行加密,然后將加密后的數據寫回到文件中。在解密時,讀取加密后的文件內容并使用密鑰對其進行解密,然后將解密后的數據寫回到文件中。請注意,密鑰需要在加密和解密時保持一致。
需要注意的是,文件加密和解密是一種基本的保護文件內容的方法,但它并不能防止其他類型的攻擊或者保護文件的完整性。在使用文件加密和解密時,確保密鑰的安全性非常重要。