python:使用pyzipper创建加密zip包

之前文章我们讲到使用zipfile模块自带的加密功能,其实并不生效,本章我们学习使用pyzipper通过简单的命令实现对zip包解压缩时加密和解密的过程。

一、pyzipper库简介

pyzipper是Python中用于创建、读取、写入和修改ZIP文件的库,它兼容Python2和Python3,并且支持AES加密,能够满足各种复杂的压缩文件处理需求。

安装pyzipper非常简单,使用pip命令即可:

pip install pyzipper

在使用方式上高度类似标准库zipfile的使用,包括添加压缩文件,解压文件等等,具体可参考之前文章:Python文件压缩神器:ZipFile功能全解析,支持一键压缩和解压

二、核心函数及案例

1. pyzipper.AESZipFile:创建和操作加密ZIP文件

AESZipFile类用于创建支持AES加密的ZIP文件,它的构造函数接受文件路径、打开模式等参数。

案例:创建一个加密的 ZIP 文件并添加文件

import pyzipper

# 创建AES-256加密的ZIP文件
with pyzipper.AESZipFile('secure.zip', 'w', compression=pyzipper.ZIP_LZMA) as zipf:
    zipf.setpassword(b'mysecret')
    zipf.setencryption(pyzipper.WZ_AES, nbits=256)  # 指定AES-256加密
    zipf.write('test.py')  #添加压缩文件

说明:这里使用 AES - 256 位加密创建了一zip文件,并test.py添加到其中。setpassword方法用于设置密码,密码需以字节串形式传入,否则报错。

当生成加密的zip文件后,我们在windows电脑上解压文件,会提示需要密码:

此时我们输入密码后,方可解压成功。

当然我们可以通过代码进行解压:

# 解压
with pyzipper.AESZipFile('secure.zip') as zipf:
    zipf.setpassword(b'mysecret')
    zipf.extractall()

2. pyzipper.ZipFile:普通ZIP文件操作

ZipFile类与Python标准库中zipfile.ZipFile类似,用于创建、读取和写入普通的 ZIP 文件,我们不再赘述。

相关文章

python zip压缩文件(python如何压缩文件)

python zip压缩文件 案例一:import zipfile files_to_add = ['path/to/your/file1.txt', 'path/to/yo...

实测有效!用 UPX 压缩 Python 打包的 exe,体积能缩 80%!

点赞、收藏、加关注,下次找我不迷路一、体积焦虑精心编写的 Python 脚本,用 PyInstaller 打包成 exe 后,体积动不动就几十 MB 甚至上百 MB!给客户发个工具,光传文件就得等半...

Python Tkinker GUI图形化代码生成

今天给大家分享一个好用的python小工具。面临编写tkinker代码时的繁琐,今天来用一个小工具帮助大家解决繁琐复杂的tkinker制作。效果展示上述图片就是最终效果了。程序中有各种按钮,控制器。可...

Python性能暴涨10倍的终极指南:7个核心技巧+代码压缩秘籍

提升 Python 程序运行性能,使代码运行更流畅更快,以及压缩代码,减小代码大小,下面的方法仅供大家参考,有什么更好的方法在评论区说说。1. 使用 NumPy/SciPy 替代纯 Python 循环...