Python实现的Zip文件加密工具
发布时间:2023-12-12 18:52:41
Python提供了一个内置的zipfile模块,可以用来创建、读取和修改zip文件。在zip文件中存储的文件可以加密以保护其内容,只有知道密码的人才能解密和访问文件。
下面是一个使用Python实现的Zip文件加密工具的示例代码:
import zipfile
def encrypt_zipfile(input_file, output_file, password):
# 创建一个新的加密的zip文件
with zipfile.ZipFile(output_file, "w", zipfile.ZIP_DEFLATED) as zf:
# 设置zip文件的密码
zf.setpassword(password)
# 将输入文件添加到zip文件中
zf.write(input_file)
def decrypt_zipfile(input_file, output_folder, password):
# 打开一个加密的zip文件
with zipfile.ZipFile(input_file, 'r') as zf:
# 校验密码是否正确
if zf.setpassword(password) is None:
# 解压zip文件到指定的文件夹
zf.extractall(output_folder)
print("解密成功!")
else:
print("密码错误!")
# 加密zip文件
input_file = "data.txt" # 要加密的文件名
output_file = "encrypted.zip" # 加密后的zip文件名
password = "123456" # 加密密码
encrypt_zipfile(input_file, output_file, password)
# 解密zip文件
input_file = "encrypted.zip" # 加密的zip文件名
output_folder = "output" # 解压缩后的文件夹名
password = "123456" # 解密密码
decrypt_zipfile(input_file, output_folder, password)
在这个示例中,encrypt_zipfile函数用来加密一个指定的文件,decrypt_zipfile函数用来解密一个加密的zip文件并将其内容解压缩到指定的文件夹。您需要将要加密的文件名、加密后的zip文件名、加密密码以及解密后的文件夹名作为参数传递给这些函数。
注意事项:
- 加密zip文件的密码应该是足够强大的,以保护文件的内容安全。
- 加密zip文件时,如果指定的输出文件已经存在,则会被覆盖。
- 解密zip文件时,如果指定的输出文件夹已经存在,则会将解压缩的文件覆盖原有的文件。
- 使用zipfile模块创建的加密zip文件可以使用标准的zip文件工具进行解压缩。
请注意在实际使用中,应该根据您的具体需求和情况对代码进行适当调整和改进。
