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

Python中使用base64进行文件加密和解密的实现方法

发布时间:2023-12-24 22:07:42

在Python中,可以使用base64模块对文件进行加密和解密。base64模块提供了一个简单的接口,可以将二进制数据转换为ASCII字符串,从而实现加密和解密的功能。

以下是使用base64进行文件加密和解密的具体实现方法:

加密:

1. 导入base64模块:import base64

2. 打开待加密的文件,以二进制模式读取数据并保存到变量f中:with open('input_file', 'rb') as f:

3. 读取文件内容并将其转换为base64编码的字符串:encoded_str = base64.b64encode(f.read())

4. 将编码后的字符串写入到新文件中:with open('output_file', 'wb') as f: f.write(encoded_str)

解密:

1. 导入base64模块:import base64

2. 打开待解密的文件,以二进制模式读取数据并保存到变量f中:with open('input_file', 'rb') as f:

3. 读取文件内容并将其解码为二进制数据:decoded_data = base64.b64decode(f.read())

4. 将解码后的数据写入到新文件中:with open('output_file', 'wb') as f: f.write(decoded_data)

下面是一个使用base64进行文件加密和解密的完整示例:

import base64

# 加密
def encrypt_file(input_file, output_file):
    with open(input_file, 'rb') as f:
        encoded_str = base64.b64encode(f.read())
    with open(output_file, 'wb') as f:
        f.write(encoded_str)

# 解密
def decrypt_file(input_file, output_file):
    with open(input_file, 'rb') as f:
        decoded_data = base64.b64decode(f.read())
    with open(output_file, 'wb') as f:
        f.write(decoded_data)

# 加密示例
encrypt_file('plain.txt', 'encrypted.txt')

# 解密示例
decrypt_file('encrypted.txt', 'decrypted.txt')

在上述示例中,encrypt_file函数将指定的输入文件加密,并将加密后的内容写入到新文件中。decrypt_file函数将指定的输入文件解密,并将解密后的内容写入到新文件中。可以根据需要修改文件路径和文件名。

注意事项:

1. 在实际使用中,需要确保输入的文件存在且可读,并且要有足够的空间来存储输出文件。

2. 使用base64进行加密并不是一种强加密方式,仅仅是一种编码转换,不适合对敏感信息进行保护。如需进行更强的加密,请使用其他加密算法,如AES、RSA等。