主要介绍python对简单的zipfile解压密码的解决方案,使用的核心模块是Python标准库中的Zipfile模块。有一定的参考价值,有兴趣的可以了解一下。
目录
创建纯数字密码和字母数字混合密码的配置文件补充说明
简介
使用的核心模块是python标准库中的zipfile模块。该模块可以实现zip文件的各种功能。详情请查阅官方参考文献。这里的暴力破解是指试图将密码可能序列中的值一个一个地密码化,这对于人来说很难,对于计算机来说并不难。有时候我们下载的zip文件需要密码解压,我们却不知道。我们得付钱才能知道。所以,这里有两种被暴力破解的密码:纯数字密码和英文数字组合密码。
文件创建
首先,测试文件是test.txt(只包含单行文本),压缩文件是test.zip,压缩密码是2340。压缩后,删除目录中的txt文件。
注意上图勾选了传统加密。
纯数字密码
它是指不以0开头的数字密码。0的开头后面是字母组合。原理是当zipfile模块解压压缩文件时,一旦密码不正确,程序就会被终止。在try语句中,只有成功解压缩的密码才会被执行到extract函数调用后的语句中。
代码:
导入zip文件
导入时间
导入线程
startTime=time.time()
#确定是否需要终止线程。
标志=真
定义提取(密码、文件):
尝试:
password=str(密码)
file.extractall(路径=' . ',pwd=password.encode('utf-8 '))
打印('密码是{} '。格式(密码))
nowTime=time.time()
打印('花费时间为{} '。格式(nowTime-startTime))
全球旗帜
#成功解压缩其余线程并终止。
标志=假
例外情况为e:
打印(e)
def do_main():
zfile=zipfile。ZipFile('test.zip ',' r ')
#开始尝试
对于范围内的数字(1,9999):
如果标志为真:
t=螺纹。Thread(target=extract,args=(number,zfile))
启动()
t.join()
if __name__=='__main__ ':
do_main()
显然,解压是成功的。这里提到这种编码密码的方法只适用于传统的zip加密。winrar有一个新的默认加密方法,这是不允许的。
字母数字混合密码
这里的密码组合太多了。为了防止内存溢出,使用了迭代器。这种情况需要的时间比较长,可以清闲的挂脚本。这里,再次压缩文件。密码是python。
导入zip文件
随机导入
导入时间
导入系统
类MyIterator():
#单位字符集
letters=' abcdefghijklmnopqrstuvwxyz 012345678 '
min_digits=0
max_digits=0
def __init__(self,min_digits,max_digits):
#实例化一个对象时,给定密码位范围,一般4到10位。
如果最小位数最大位数:
self.min_digits=min_digits
self.max_digits=max_digits
否则:
self.min_digits=max_digits
self.max_digits=min_digits
#迭代器访问定义
def __iter__(self):
回归自我
def __next__(自己):
rst=str()
对于范围内的项目(0,random . rand range(self . min _ digits,self.max_digits 1)):
rst=random . choice(my iterator . letters)
返回rst
定义提取():
start_time=time.time()
zfile=zipfile。ZipFile('test.zip ')
对于MyIterator(5,6)中的p:
尝试:
zfile.extractall(path=' . ',pwd=str(p)。编码(' utf-8 '))
打印('密码是{} '。格式(p))
now_time=time.time()
打印('花费时间为{} '。格式(现在时间-开始时间))
sys.exit(0)
例外情况为e:
及格
if __name__=='__main__ ':
提取()
字符的序列组合很多,需要等待。
补充说明
很多人反馈这种方式无效,主要是文件路径不正确(我的代码默认是从Python脚本所在目录的zip文件中提取的)以及加密方式不是传统加密。这种暴力破解的方法只有在你大致记住密码位数和密码格式(比如只有字母等)的情况下才实用。),而完全暴力破解是不现实的。毕竟加密不是白做的。
这就是这篇教你如何使用Python解决简单zip文件解压密码的文章。关于Python zip文件解压密码的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。