📜  使用Python加密和解密文件(1)

📅  最后修改于: 2023-12-03 15:22:19.944000             🧑  作者: Mango

使用Python加密和解密文件

Python是一种强大的编程语言,可以用来加密和解密文件。在本文中,我们将介绍如何使用Python来加密和解密文件。

加密文件

加密文件是指用密码或密钥将文件转化为一种特殊形式,使得除了拥有密码或密钥的人以外,其他人无法读取文件。下面是使用Python来加密文件的代码片段。

from cryptography.fernet import Fernet

def encrypt_file(file_path, key):
    """
    用Fernet类加密文件
    :param file_path: 文件路径
    :param key: 密钥
    """
    with open(file_path, "rb") as f:
        data = f.read()

    fernet = Fernet(key)
    encrypted = fernet.encrypt(data)

    with open(file_path, "wb") as f:
        f.write(encrypted)

以上代码使用了fernet加密算法来加密文件。我们首先用“rb”模式打开文件,将数据读取出来,然后使用密钥来加密数据。最后,我们用“wb”模式打开文件,将加密后的数据写入文件中。

解密文件

解密文件是指用密码或密钥将加密文件恢复成原始的形式,使得我们可以读取文件。下面是使用Python来解密文件的代码片段。

from cryptography.fernet import Fernet

def decrypt_file(file_path, key):
    """
    用Fernet类解密文件
    :param file_path: 文件路径
    :param key: 密钥
    """
    with open(file_path, "rb") as f:
        data = f.read()

    fernet = Fernet(key)
    decrypted = fernet.decrypt(data)

    with open(file_path, "wb") as f:
        f.write(decrypted)

以上代码使用了几乎相同的逻辑,并使用了相同的密钥来对文件进行解密。我们首先用“rb”模式打开文件,将密文读取出来,然后使用密钥来进行解密。最后,我们用“wb”模式打开文件,将解密后的数据写入文件中。

总结

在Python中加密和解密文件非常简单,只需要使用Python中的安全加密库,如Fernet即可。以上代码演示了如何使用Python加密和解密文件。 程序员可以根据自己的实际需求,进行修改和调整。