9行代码破解压缩包密码

  • 1、引言
  • 2、代码实战
    • 2.1 单线程破解纯数字
      • 2.1.1 代码编写
      • 2.1.2 执行结果
    • 2.2 多线程破解数字+字母
      • 2.2.1 代码编写
      • 2.2.2 执行结果

1、引言

虽然平时就会帮助小姐姐解决各种问题,
但是最近,特比多!
像我这种比较喜欢乐于助人而又害羞的绅士,怎么好意思拒绝呢~

今天小姐姐让我帮她找回旅游自拍照的压缩包密码~
我来还原一下当时的对话情节:
小姐姐:Carl,请问现在有没有时间,请你帮个忙?
小鱼:现在在忙呢,有啥事?
小姐姐:我的压缩包密码忘记了,你能帮忙找回来吗?
小鱼:你的压缩包密码忘记了,你自己想想啊!
小姐姐:想不起来了,对我挺重要的, 是我的旅游自拍照呢~
小鱼:自拍照? 就是你在朋友圈发的去厦门的?
小姐姐:嗯,是的啊,如果你现在没时间的话,我在让别人帮忙吧
小鱼:别别别,不用,我现在就有时间,厦不厦门的没关系,主要我就喜欢助人为乐~
小姐姐:那我把压缩包发给你
小鱼:好嘞, 这密码是数字还是英文?
小姐姐:数字的,
小鱼:好嘞,这容易呦~

2、代码实战

2.1 单线程破解纯数字

我们看下,小姐姐的压缩包,是zip,且是5位数的数字类型密码,

考虑到只有5位数字,所以我们就直接单线程来搞定

2.1.1 代码编写

编写代码

# -*- coding: utf-8 -*-
# @Time   : 2021-06-04
# @Author : carl_DJimport zipfile,time,sys
start_time = time.time()def extra():#读取压缩包文件zfile = zipfile.ZipFile('C:\Project\厦门旅游自拍照.zip')#循环获取密码for num in range(1,99999,1):#做了判断,增加可读性try:pwd = str(num)zfile.extractall(path='.',pwd=pwd.encode('utf-8'))#获取压缩包密码print(f"压缩包密码为:{pwd}")#获取结束时间end_time = time.time()#输出运行时间print(f"单线程解压花费时间:{end_time - start_time}")sys.exit(0)except Exception as e:#我相信我一定能破解压缩包密码,这里就直接pass#pass#获取抛出的异常原因print(f"获取压缩包密码失败:{format(e)}")#运行
if __name__ == '__main__':extra()

编写完代码,我们就要去执行它,看看小姐姐的照片 压缩包密码是啥…

2.1.2 执行结果

执行结果

就是67866 我的天哪,我赶紧告诉小姐姐。

2.2 多线程破解数字+字母

小鱼:小姐姐,你的压缩包密码是 67866,
小姐姐:厉害啊,那既然你这么厉害,那我就奖励一个压缩包,里面可是有更好照片哦~~
小鱼:… 当真??
小姐姐:当真…,这次是数字+字母哦压缩包传给你了…

唉我去~
还上来难度了,但是为了体现出我的技术,我必须给安排了!

谁不想看小姐姐的自拍照呢

2.2.1 代码编写

老规矩,直接上代码,
代码编写

# -*- coding:utf-8 -*-
# @Time   : 2021-06-04
# @Author : carl_DJimport random,zipfile,time,sysclass PicItem():#设定搜索范围,数字+字母picset = 'abcdefghijklmnopqrstuvwxyz0123456789'#传入min 和max参数def __init__(self,min,max):#比较min 和max大小if min < max:self.minlen = minself.maxlen = maxelse:self.ninlen = maxself.maxlen = min#直接返回self实例对象def __iter__(self):return self#通过循环,生成密码def __next__(self):#rec设置为空rec = ''for i in range(0,random.randrange(self.minlen,self.maxlen+1)):rec += random.choice(PicItem.picset)return recdef extra():#设定开始时间start_time = time.time()#读取文件zfile = zipfile.ZipFile('C:\Project\小姐姐自拍照.zip','r')# 随机迭代出1~6位数的密码,在不明确位数的时候做相应的调整for password in PicItem(1,6):if zfile:try:zfile.extractall(path='.',pwd=str(password).encode('utf-8'))print (f'小姐姐压缩包密码:{password}')# print ("小姐姐压缩包密码是:" %passwprd)end_time = time.time()print (f'当前破解压缩包花了{end_time-start_time}秒')sys.exit(0)#不匹配,抛出异常except Exception as e:print (f'错误密码:{password}')pass
if __name__=="__main__":extra()

编写完,我们就执行,
然后稍稍等待,独自一人偷偷的看小姐姐给我的福利~

压缩包里面有三张图片, 所以程序需要跑一会,别着急

2.2.2 执行结果

我们看下代码运行的效果

等的花儿都谢了,终于等到密码了~*

我不能展示密码,不然小姐姐会不开心的

嘿嘿, 我们输入密码,看看小姐姐的自拍照

打开图片效果

我去~~~看到这两张照片,我承认,我草率了
我已经没有信心去展示第三张图片了,

第三张图片,比这两张更丑…

我觉得我跟小姐姐友谊的小船,已经倾斜了~

Python3:9行代码帮助小姐姐找回压缩包密码,而小姐姐的回报,让我害羞了~ ~相关推荐

  1. 找回压缩包密码难度大吗?

    压缩包密码的破解难度其实和密码本身的复杂程度和长度有关系的. 使用解密工具找回压缩包密码,采用的是暴力破解的方法,简单的说就是工具将数字.大小写字母.标点符号进行排列组合,然后按照一位数密码.两位数密 ...

  2. 保存blob到本地_用12行代码提取浏览器自动保存的密码

    在本文中,我将演示如何轻松提取Chrome配置文件中保存的用户名和密码.有人可能会认为Chrome会加密自动保存的密码,但并非如此.当你在使用Chrome时,往往需要输入某个密码才能同步自动保存的密码 ...

  3. 100行代码,使用 Pygame 制作一个贪吃蛇小游戏!

    作者 | 周萝卜 来源 | 萝卜大杂烩 相信我们大家都玩过贪吃蛇游戏,今天我们就从头一起来写一个贪吃蛇小游戏,只需要100多行的代码就完成了. 用到的 Pygame 函数 贪吃蛇小游戏用到的函数 功能 ...

  4. python是动态语言图片_利用python图片生成,需10几行代码,生成的动态表情包(小黄鸭)...

    小编找到了10几行的,好玩的动态表情包生成的代码.分享分享! 这个程序怎么做呢?不要急,来听我给大家分析分析. 工具:程序环境 语言:Python 3.6 编辑器:Pycharm 程序步骤 实现字符动 ...

  5. python制作会动的表情包_利用python图片生成,需10几行代码,生成的动态表情包(小黄鸭)...

    小编找到了10几行的,好玩的动态表情包生成的代码.分享分享! 这个程序怎么做呢?不要急,来听我给大家分析分析. 工具:程序环境 语言:Python 3.6 编辑器:Pycharm 程序步骤 实现字符动 ...

  6. 250行代码基于C + EasyX实现感人的表白小程序,画出美丽的爱心雨!

    这个小程序是在 18年的夏天写的,曾经有一份真挚的爱情摆在我面前,我没有好好珍惜,算了,还是赶紧 new一个新对象吧 ~ 程序中的爱心是我用 api画出来的,也是比较麻烦的一种方法,如果使用图片的话会 ...

  7. 10行代码制作群聊提醒小助手,再也不怕漏掉消息了

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 胸中有誓深于海,肯使神州竟陆沉? ...

  8. 女神相册密码忘记了,我只用Python写了20行代码

    ​视频地址 我用20行代码,帮女神破解相册密码 一.事情是这样的 今早上班,公司女神小姐姐说,她去年去三亚旅游的照片打不开了 好奇问了一下才知道. 原来是,她把照片压缩了,而且还加了密码. 但是密码不 ...

  9. jieba分词_自然语言NLP必备(1),jieba工具 5 行代码对整篇文章分词

    自然语言是什么?下面来看看百度百科的介绍: 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.自然语言处理是一门融语言学.计 ...

最新文章

  1. 智办事2.0,第一个提出以“事情”为中心的企业管理方法落地软件
  2. __stdcall in c++ builder
  3. 3des java ecb_PHP 3DES加密 与JAVA通用 加密模式:ECB
  4. python变量的输入
  5. python初学函数_Python初学者速收藏!面向Python初学者的知识-函数
  6. 决策树(Decision Tree,DT)
  7. np.copysign_带有Python示例的math.copysign()方法
  8. 类名.this与this的区别
  9. 深入分析自定义表单验证与Cookies
  10. python中空格怎么打_191012 python3关于空格打印、赋值、+=符号的小坑
  11. vs登录或者添加账户时说脚本错误
  12. 阿里云 IOT 物联网平台简单使用【随笔】
  13. 阿里巴巴 Alibaba
  14. NaVicat Premium 字段设计怎么自动生成表格
  15. 聚观早报 | 苹果2024年放弃高通;腾讯回应进军类 ChatGPT
  16. 【ct107d】独立键盘
  17. 连接共享文件夹时报错:发生系统错误 1219:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接
  18. 易快报对接飞书的五个关键步骤
  19. 基于树莓派4b(raspberry pi 4b)内核编译流程,交叉编译环境搭建,loadable kernel module (LKM)编译方法
  20. 常见seo名词解释二(网站SEO常见术语说明)-从SEO到优化实战大师

热门文章

  1. 晶振旁外接电容的选择
  2. 蚂蚁学堂(1):8-Web开发入门
  3. 出具软件产品测试报告时间多久?测试报告格式模板
  4. 力扣 706. 设计哈希映射
  5. 2021-12-4-openGauss数据库源码学习-指标采集、预测与异常检测
  6. 12.20 成都站:年末最具干货的技术沙龙
  7. 以Web of Science 为例,使用Citespace进行文献计量分析的一般步骤
  8. AWS EC2实例连接
  9. 【CAD二次开发】DrawJig绘制MLeader两种交互方式
  10. 嗯嗯,你只是不懂罢了