1.创建TXT文档
生成了一个从000000到99999的密码表。
并把它们存入到 passdict.txt 的文件中。
def gen_code():
"""生成000000到999999的密码表"""
f=open('password.txt','w')
for id in range(1000000):
password=str(id).zfill(6)+'\n'
f.write(password)
f.close()
结果如下:
2.暴力破解
zipFile模块式Python自带的模块,提供了对zip 文件的创建,读,写,追加,解压以及列出文件列表的操作,解压使用extractll方法extractall(path=None, members=None, pwd=None)
- path:指定解压后文件的位置
- members:(可选)指定要Zip文件中要解压的文件,这个文件名称必须是通过namelist()方法返回列表的子集
- pwd:指定Zip文件的解压密码
那么我们可以利用 zipFile 模块来遍历密码表,
挨个挨个密码尝试,看能不能打开压缩包。
直到成功。
具体代码:
def extractfile(zipfile,password):
try:
zipfile.extractall(pwd=bytes(password,'utf8'))
return True
except:
pass
def main():
zip_file=zipfile.ZipFile('1.zip')
pwdlists=open('password.txt') # 读入所有密码
for line in pwdlists.readlines(): # 挨个挨个输入密码
pwd=line.strip('\n')
guess=extractfile(zip_file,pwd)
if guess==True:
print('破解的密码是:{}'.format(pwd))
break
if __name__ == '__main__':
main()
运行结果: