python暴力破解压缩包密码(python暴力破解zip压缩包)

这篇具有很好参考价值的文章主要介绍了python暴力破解压缩包密码(python暴力破解zip压缩包)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python暴力破解压缩包密码

简介

简介
ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。当前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7z格式。从性能上比较,RAR及7z格式较ZIP格式压缩率较高,而7-Zip由于提供了免费的压缩工具而逐渐在更多的领域得到应用。Microsoft从Windows ME操作系统开始内置对zip格式的支持,即使用户的计算机上没有安装解压缩软件,也能打开和制作zip格式的压缩文件,OS X和流行的Linux操作系统也对zip格式提供了类似的支持。因此如果在网络上传播和分发文件,zip格式往往是最常用的选择。

ZIP是一种相当简单的分别压缩每个文件的存档格式。分别压缩文件允许不必读取另外的数据而检索独立的文件;理论上,这种格式允许对不同的文件使用不同的算法。不管用何种方法,对这种格式的一个告诫是对于包含很多小文件的时候,存档会明显的比压缩成一个独立的文件(在类Unix系统中一个经典的例子是普通的tar.gz存档是由一个使用gzip压缩的TAR存档组成)要大。

编码讲解

准备工作

首先是需要创建一个.zip后缀名的压缩包,然后给这个zip压缩包设置一个密码。

python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm
注意这里要点击ZIP传统加密。
python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

把这个文件放入到pycharm里面。
python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

开始编码

  • 首先是获取文件后缀名
from zipfile import ZipFile
import os

def passwd(path):
    # 获取文件的后缀名
    suffix_name = os.path.splitext(path)[-1][1:]
    print(suffix_name)

if __name__ == '__main__':
    passwd("D:\系统默认\桌面\python数据分析\python爬虫\zip\二叉树.zip")

运行结果
python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

  • 没有密码的解压方法
from zipfile import ZipFile
import os

def passwd(path):
    # 获取文件的后缀名
    suffix_name = os.path.splitext(path)[-1][1:]
    # print(suffix_name)
    # 如果是zip文件
    if suffix_name == 'zip':
        # 开始读zip文件
        with ZipFile(path, 'r') as zip:
            # 解压到指定文件目录下
            zip.extractall("D:\系统默认\桌面\python数据分析\python爬虫\\target")

if __name__ == '__main__':
    passwd("D:\系统默认\桌面\python数据分析\python爬虫\zip\二叉树.zip")

运行结果
对于没有密码的解压,我们写到这一步就可以了,如果设置了有密码,然后了我们就会发现,这个会报错。
python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

  • 编写枚举密码的函数
    如果学过算法的就知道了,这个就是算法里面的,那个排列组合题,在java和c++里面,需要自己去写,而且这个时间复杂度还很高,在python立面别人已经帮忙做好了这个功能。
def create_pwd(words):
    # 通过导入这包来设置枚举序列
    import itertools as its
    # 设置基础需要枚举的字符集
    
    # 这个base的意思就是把words集合的字符取repeat次组合
    # 打印出来
    base = its.product(words, repeat=2)
    for i in base:
        print(''.join(i))

运行结果
python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

  • 用暴力破解来破解程序
    其实我们学过算法就知道,其实只要稍微密码长度长一点,基本上就不能够被破解了,除非需要涉及到哈希字典,这个我们以后再讨论,现在就只讨论暴力破解的写法。

完整代码

from zipfile import ZipFile
import os

def passwd(path, pwd):
    # 获取文件的后缀名
    suffix_name = os.path.splitext(path)[-1][1:]
    # print(suffix_name)
    # 如果是zip文件
    if suffix_name == 'zip':
        # 开始读zip文件
        with ZipFile(path, 'r') as zip:
            # print("当前尝试的密码是:%s"%(pwd))
            # 解压到指定文件目录下
            try:
                # print(pwd.encode('utf-8'))
                zip.extractall("D:\系统默认\桌面\python数据分析\python爬虫\\target", pwd=pwd.encode('utf-8'))
                print("解压成功,密码是:%s"%(pwd))
                return True
            except Exception as e: # 添加一个异常处理
                pass

def create_pwd(words):
    # 通过导入这包来设置枚举序列
    import itertools as its
    # 设置基础需要枚举的字符集

    # 这个base的意思就是把words集合的字符取repeat次组合
    # 打印出来
    base = its.product(words, repeat=6)

    # 一般需要把这个打印函数注释 因为这个函数运行很消耗时间的
    for i in base:
        # print(''.join(i))
        yield ''.join(i) # 把这个函数制作成一个迭代器

if __name__ == '__main__':

    words = '123456789'
    dir = 'D:\系统默认\桌面\python数据分析\python爬虫\zip\二叉树.zip'
    for p in create_pwd(words):
        flag = passwd(dir, p)
        if flag == True:
            break

运行结果
这个结果的命名很奇怪,但是问题不大只要可以解压,后面会讲解一下,比较难的解压方法,涉及到算法。
python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm

python解压有密码的压缩包,有意思的python小程序,python,开发语言,pycharm
如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历,让大家更好学习编程,我的抖音,B站也叫极客李华。文章来源地址https://www.toymoban.com/news/detail-778377.html

到了这里,关于python暴力破解压缩包密码(python暴力破解zip压缩包)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [python]批量解压文件夹下所有压缩包(rar、zip、7z)

            在文件夹作用包含许多压缩包的时候,解压起来就很费时费力,尤其是在文件夹还存在嵌套的情况下,解压起来就更麻烦了。Franpper今天给大家带来递归遍历指定路径下的所有文件和文件夹,批量解压所有压缩包的方法,帮大家一键解压。         常见的压缩包格

    2024年02月09日
    浏览(61)
  • Python暴力破解附近局域网WiFi密码

    本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。 先来看看没有图形界面版的爆破脚本。 代码运行效果: 以上脚本需内嵌 WIFI 名、爆破字典路径,缺少灵活性。下面进行改造优化:​​​​​​​   脚本运行效果如下: 上述代码实现了依

    2024年02月11日
    浏览(45)
  • zip解压和压缩

    引言 介绍zip文件的概念 涉及到的Java类和包: java.util.zip https://blog.csdn.net/u012998680/article/details/126060855 压缩文件 准备压缩的源文件和目标zip文件的路径 创建 FileOutputStream 和 ZipOutputStream 对象 创建源文件的 File 和 FileInputStream 对象 创建 ZipEntry 对象,并设置其名称为源文件的名

    2024年02月11日
    浏览(83)
  • Linux :: 压缩与解压指令【1】:zip / unzip 指令:压缩与解压用法详解

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 目录索引: 1. 基本用法及功能 2. 基本用法:压缩/解压指定文件【注意代码示例内容!】 3. 「-r」

    2024年01月25日
    浏览(56)
  • Linux zip命令压缩与解压

    1、unzip windows常见的压缩包有rar和zip格式,如果要将压缩包上传到Linux上再解压,就要使用unzip命令。以下是unzip常见命令: 没有unzip可以使用yum安装 2、zip 如果需要将Linux下的文件传输到Windows上,可以使用zip命令 压缩命令 常用参数:

    2024年02月10日
    浏览(45)
  • .net rar zip压缩包解压

    引入  SharpCompress https://download.csdn.net/download/weixin_42020830/87737306 string targetFile=\\\"c:\\\\test.zip\\\"; string zipFile=\\\"c:\\\\test\\\";  using (Stream stream =System.IO.File.OpenRead(targetFile))                     {                         var reader = ReaderFactory.Open(stream);                         while (r

    2024年02月01日
    浏览(46)
  • Linux上实现分片压缩及解压分片zip压缩包 - 及zip、unzip命令详解

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月11日
    浏览(44)
  • 破解zip加密压缩文件

    由于之前把一些过去的学习资料压缩加密了,过了很久之后忘记了当时设置的加密密码,于是在网上查了一些关于破解密码的文章,了解了强大的hashcat以及John the Ripper。 Hashcat是一个流行的开源密码恢复工具,可以用于破解各种类型的哈希值,包括MD5、SHA1、SHA2等。它支持多

    2024年02月04日
    浏览(45)
  • linux中zip分卷压缩和解压遇到的错误

    网上搜索的解决办法如下(我执行时报错): 但是,当我执行的时候会报以下错误。 报错的大概意思是,合并的过程中导致头部偏移异常。 我的解决办法如下: 至此问题解决

    2024年02月03日
    浏览(59)
  • 你安全吗?丨详解,如何暴力破解压缩包

    作者:黑蛋   你安全吗?在电视剧《你安全吗》第四集中,碰到这么一个画面: 这个画面一闪而过,可以看到,在这个画面中可以看到一堆有锁的文件,还有“已耗时1003天,预计剩余8928天”,“FILE TRANSFER DECRYPTION(文件传输解密)”等字眼,我个人感觉这是一个伏笔,一条

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包