欢迎访问宙启技术站
智能推送

使用Python编写一个文件加密程序

发布时间:2023-12-04 20:57:04

编写一个文件加密程序可以使用不同的加密算法对文件进行加密,并且提供一种简单易用的方式对加密文件进行解密。下面是一个使用Python编写的示例程序:

import os
from cryptography.fernet import Fernet

def generate_key():
    # 生成加密密钥
    key = Fernet.generate_key()
    with open('key.key', 'wb') as key_file:
        key_file.write(key)

def load_key():
    # 从密钥文件加载密钥
    return open('key.key', 'rb').read()

def encrypt_file(filename, key):
    # 加密文件
    f = Fernet(key)
    with open(filename, 'rb') as file:
        data = file.read()
        encrypted_data = f.encrypt(data)
    with open(filename, 'wb') as file:
        file.write(encrypted_data)

def decrypt_file(filename, key):
    # 解密文件
    f = Fernet(key)
    with open(filename, 'rb') as file:
        encrypted_data = file.read()
        decrypted_data = f.decrypt(encrypted_data)
    with open(filename, 'wb') as file:
        file.write(decrypted_data)

# 生成密钥
generate_key()

# 加载密钥
key = load_key()

# 加密文件
encrypt_file('example.txt', key)

# 解密文件
decrypt_file('example.txt', key)

这个示例程序使用了cryptography库中的Fernet类来实现加密和解密。首先,通过运行generate_key函数生成一个加密密钥,并保存到名为key.key的文件中。然后,使用load_key函数加载密钥。接下来,分别使用encrypt_file函数和decrypt_file函数对文件进行加密和解密。

在上面的例子中,你可以将example.txt替换为你想要加密的文件路径。加密后的文件将覆盖原文件,解密后的文件将还原为原始内容。

要运行这个示例程序,你需要在安装Python的同时安装cryptography库。可以通过运行以下命令来安装它:

pip install cryptography

请注意,这个示例只是一个简单的加密程序,用于演示如何使用Python编写文件加密程序。在真实的应用中,你可能需要更复杂的加密算法和更强大的密钥管理。加密是一个复杂的主题,需要仔细研究和深入理解,以确保安全性。