温馨提示×

python文件加密与解密怎么实现

小亿
117
2024-01-04 01:51:14
栏目: 编程语言

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算法来进行文件加密和解密。在加密时,读取文件内容并使用密钥对其进行加密,然后将加密后的数据写回到文件中。在解密时,读取加密后的文件内容并使用密钥对其进行解密,然后将解密后的数据写回到文件中。请注意,密钥需要在加密和解密时保持一致。

需要注意的是,文件加密和解密是一种基本的保护文件内容的方法,但它并不能防止其他类型的攻击或者保护文件的完整性。在使用文件加密和解密时,确保密钥的安全性非常重要。

0