压缩包密码忘记了打不开?教你用pyhton轻松解决,附视频讲解
文章目录
- 一、准备工作
- 二、开始操作
相信大家都遇到过这种情况,下载文件的时候遇到压缩包又没有密码,或者说自己设置的加密密码,但是忘记了,就很难受~
但是~
在Python程序员面前,这都是小问题!
话不多说,我们直接开始操作.。
一、准备工作
我们先打开一个加密的压缩包尝试原始方法解压一下
然后弹出来让我输密码
正常打不开,如果你点击跳过所有加密,它也不会打开,直接就关闭当前你窗口了。
那正常情况下,我们能怎么办,什么也办不了,下一个会更乖。
我们打开pycharm
,新建一个py
文件,暂且我把它命名为zip_pwd
灵魂三问:没有pycharm?Python也没有?还不会安装?私我
在这之前呢,我们先要去收集一些信息,比如当前的密码位数与类型。
类型包含包括它有没有特殊字符,有没有字符串,是不是纯数字。
假设我们现在已知信息呢,总共有两个,已知当前密码类型为整形,六位数密码。
我们先创建一个纯数字6位密码库,你也可以去GitHub
上面下载一个包含所有字符的密码字典库,这个现在是开源的,破解时间具体要看设置的密码长短、复杂与否。
二、开始操作
回到正题
已知我们现在的密码是六位纯数字,那么怎么自己创建密码字典呢?
首先我们要完成一个文件写入的功能
首先声明一个变量 f
f = open()
# Python内置函数
open
是一个IO流,可以完成文件读写功能。
比如说我先想在一个文件里写入一些内容,就可以通过open
去做 。
然后我们通过open
创建一个文件,名字暂且命名为possword.txt
,在加入一个写入方式,以 w
方式去写入。
f = open('password.txt','w')
然后通过循环去创建密码,密码设置个1000000
for id in range(1000000)
这时候需要创建一个password
变量生成密码,创建之前先导入一个方法的包。
import zipfile
然后通过password
可以开始生成密码了 ,这个zfill
等于 6位的,再加上换行,因为生成一个密码就要换一行,并且生成密码应该是一个字符串类型。
password = str(id).zfill(6) + '\n'
然后通过f.write
方法把password
写入到文件当中
f.write(password)
写进去之后要去关闭当前的文件流
f.close()
然后我们来尝试去生成一下,看看能不能成功。
import zipfilef = open('password.txt','w')
for id in range(1000000)password = str(id).zfill(6) + '\n'f.write(password)
f.close()
可以看到这里给我们生成了一个possword.txt
密码字典,它是一个密码库。
从000000
一直到999999
它已经全部生成出来了。
这就是一个简单的密码字典生成方式,如果要去生成一个比较复杂的密码肯定不会这么简单,给你们看个一个复杂的,这里我就不演示了,看看就可以了,将近写了一万多行。
所以你们自己想要去生成的话,还得专门好好学一下。
搞定六位数数字密码字典后我们需要完成解决压缩文件密码的函数
首先我们先来声明一个函数 ,取个名字叫file
,然后加入两个行参。
第一个是我的压缩文件zipfile
,第二个是当前需要传入的密码password
def pwd_file(zipfile,password):
传完行参后写上一个异常处理,调用zipfile
,它里面会有一个方法extractall
传入两个值,第一个是pwd
传入字节,在字节里传入行参,编码集是utf8
tey:zipfile.extractall(pwd=bytes(password, 'utf8'))
然后print
压缩包密码,打印password
print('压缩包密码:', password)
因为密码库里面密码比较多,只有一个正确的,其它的都是错误的,所以肯定会报错,所以我们要写一个异常处理,写上一个pass
就可以了,报错了就给它pass
掉。
except:pass
这就是一个简单的函数,我们通过zipfile
它里面的一个extractall
方法去智能的获取正确密码,它是可以自动匹配密码的。
所以说Python牛逼,很多东西都不需要我们去写,直接调用就好了。
然后我们来写上执行函数
先写上一个main
函数
def main():
在main
函数里面,通过zipfile
方法把加密的压缩文件代入到代码中。
zipFlie = zipfile.ZipFile('./获取文件密码.zip')
通过pwd
生成一个list
变量,打开生成的密码文件。
pwd_list = open('./password.txt')
然后我们需要一个一个去试密码,这个是一行一行的去读。
for line in pwd_list.readlines():
读到一个就把它写进去,拿到一个密码删除一个换行符。
pwd = line.strip('\n')
通过pwd_file
调用之前写的函数,传zipFlie
和pwd
pwd_file(zipFlie, pwd)
最后写入函数入口,写上一个main
,为什么要写这个函数入口呢?不写也可以运行的。
因为它是用来去做测试的。
if __name__
是一个测试入口,什么意思呢?
比如我在当前文件下导入了其它文件库,但是我又不想用,我就可以通过if
让它不去运行,所以可写可不写,当一个延伸。
if __name__ == '__main__':main()
全部代码
import zipfilef = open('password.txt', 'w')
for id in range(1000000):password = str(id).zfill(6) + '\n'f.write(password)
f.close()def pwd_file(zipFlie, password):try:zipFlie.extractall(pwd=bytes(password, 'utf8'))print('压缩包密码:', password)except:passdef main():zipFlie = zipfile.ZipFile('./获取文件密码.zip')pwd_list = open('./password.txt')for line in pwd_list.readlines():pwd = line.strip('\n')pwd_file(zipFlie, pwd)if __name__ == '__main__':main()
#视频放在评论区
我们看看效果,可以看到压缩包的密码已经打印出来了。
如果你要获取的密码越复杂,你的电脑越好就计算的越快。
兄弟们,学废了吗?
原创不易,点个赞支持一下哇~
压缩包密码忘记了打不开?教你用pyhton轻松解决,附视频讲解相关推荐
- 不,压缩包密码忘记(没有网盘提取码)你还有希望
不,压缩包密码忘记(没有网盘提取码)你还有希望 注意:只是有希望,成不成功不好说.但希望还是要有的,万一成功了呢~ 声明: 1.本人不提供教程: 2.我的电脑配置: 压缩包篇: 1.RAR passw ...
- 计算机的用户账户打不开怎么办,电脑用户密码忘记了打不开怎么办
电脑设置密码有时候忘记了会带来很严重的后果,不但别人打不开,自己也会打不开电脑了,下面由学习啦小编为你整理了电脑用户密码忘记了打不开怎么办的相关方法,希望对你有帮助! 电脑用户密码忘记了打不开解决方法 ...
- 压缩包密码忘记了,如何解压文件?
想要保护文件的内容,我们可以通过对文件进行压缩并且设置密码来完成,因为加密之后的压缩包,需要输入压缩包密码才能顺利解压文件出来.当别人不知道密码的情况下,是无法解压出压缩包的文件的. 温馨提示给大家: ...
- 计算机系统密码忘记了如何解决,电脑开机密码忘记了怎么办,小编教你如何解决忘记电脑开机密码...
人们利用电脑进行工作.玩大型的游戏.与其他地域的人沟通联系,电脑提供给了人们更为丰富的生活.有用户的为了隐私的安全,就会设置密码,在设置密码一段时间后电脑的忘记开机密码就是相当头疼的事情了.下面,小编 ...
- 压缩包密码忘记了,如何删除?
zip格式压缩包设置了密码,每次解压文件都需要输入密码才能够解压出文件,当压缩包文件不再需要加密的时候,大家肯定想删除压缩包密码,或者忘记了压缩包密码,想要通过删除操作将压缩包密码删除,就能够顺利解压 ...
- 压缩包密码忘记了怎么解决
压缩包的加密密码忘记了没有办法打开压缩包文件该怎么办?既然忘记了就要将密码找回来,现在有很多软件都可以找回压缩包的密码,比如奥凯丰 压缩包解密大师. [压缩包解密大师]快速找回密码_轻松移除使用限制- ...
- 压缩包密码忘记了,可以删除吗?
Zip压缩包设置了压缩包密码,想要删除,很简单,操作如下: 右键选择压缩包,找到[打开方式]-[Windows资源管理器] 在文件夹空白处,再次点击右键,选择[删除密码] 然后输入压缩包密码在提示框内 ...
- Windows密码忘记,如何在无密码情况下进入系统的 解决方法。(失效)
在有的时候,我们的电脑忘记了密码,那么我们如何取回呢?(PS:在这里我使用的是Windows系统) 1.账号分类 大家都知道,在我们个人电脑中,为了安全起见,我们会设置开机密码,而这个开 ...
- 长城wifi服务器没响应,wifi设置网站进不去怎么办,教你一招轻松解决
朋友新买一台笔记电脑,为笔记本设置无线上网时要进入路由器,在浏览器中输入192.168.1.1却出现路由器打不开的状况,打不开的原因有很多种,每种情况的解决方案也是不一样的.下面我们逐一分析. 01原 ...
最新文章
- php更新点击数,始终如一的坚守,PHP对数据更新的更优解
- 如何使用Leangoo敏捷工具做测试管理。
- 京东秒杀系统模块的Redis分布式锁深度剖析,没给你讲明白你打我
- leetcode word break java,Word Break leetcode java
- 爬虫笔记11Scrapyyield具体使用
- ITK:计算图像谱密度
- echars x轴单位_echarts X轴和Y轴 坐标没有 一一对应
- video.min.js php,在WordPress中使用videojs来播放七牛私有空间视频
- python vlookup 模糊_如何用python写excel中的vlookup函数?
- 分治法在求解“最近对”问题中的应用(JAVA)
- 人能为赚钱吃多少苦?
- 如果你身边有这样的人,赶紧让他说点什么,然后反过来买彩票
- elm的 java包_Elm架构
- java基础9(IO流)-File类
- HDU 1847 (博弈 找规律) Good Luck in CET-4 Everybody!
- 话里话外:从纯技术顾问到业务咨询顾问的能力发展路径(上)
- matlab kappa风险分析,我为什么反对在属性数据MSA中用Kappa分析(上) | 汽车质量管理笔记...
- python中len函数_len()函数以及Python中的示例
- Okhttp源码分析以及Google Gson解析json数据实例
- ionic 显示手机本地图片