900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【python】暴力破解压缩包密码

【python】暴力破解压缩包密码

时间:2020-08-06 12:34:12

相关推荐

【python】暴力破解压缩包密码

import zipfileimport itertoolsdictionaries = ['1', '2', '3', '4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','.',',',':','?','<','>',' '] #组成破解字典的关键字符(可以按照自己需求添加)def allkeyword(number): #排列出字符所有number个字符的组合allkey1 = itertools.product(dictionaries,repeat=number)allkey2 = (''.join(i) for i in allkey1)return allkey2def trypassword (fileName,password):#用trypassword函数返回的True或者Flase来判定程序是否终止。try:ZIPFILE = zipfile.ZipFile(fileName) #定义对象,相当于定义一个压缩文件1.zipZIPFILE.extractall(path=r'./',pwd=password.encode('utf-8'))print(f"解压成功,正确密码为:{password}")return Trueexcept:#print(f"解压失败,尝试密码为:{password}")return Falsedef start(fileName):import mathfor number in range(20):#遍历长度在20以内的所有可能密码组合print("密码长度:",number+1)index=0for pwd in allkeyword(number+1) :index=index+1print("进度:",str( round(100*index/(len(dictionaries)**(number+1)),2) )+"%",end="\r")if trypassword(fileName,pwd):#判断结果是否正确print()returnprint()start("test.zip")

参考:/jiaoben/python/381295.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。