您现在的位置是:首页 > 编程 > 

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

2025-07-20 16:38:01
python暴力压缩包密码(python暴力zip压缩包) python暴力压缩包密码简介简介: ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。当前,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压缩包设置一个密码。

注意这里要点击ZIP传统加密。

把这个文件放入到pycharm里面。

开始编码
  • 首先是获取文件后缀名
代码语言:javascript代码运行次数:0运行复制
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")

运行结果

  • 没有密码的解压方法
代码语言:javascript代码运行次数:0运行复制
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:
            # 解压到指定文件目录下
            ("D:\系统默认\桌面\python数据分析\python爬虫\\target")

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

运行结果: 对于没有密码的解压,我们写到这一步就可以了,如果设置了有密码,然后了我们就会发现,这个会报错。

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

运行结果

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

完整代码

代码语言:javascript代码运行次数:0运行复制
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(('utf-8'))
                ("D:\系统默认\桌面\python数据分析\python爬虫\\target", pwd=('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 = '12456789'
    dir = 'D:\系统默认\桌面\python数据分析\python爬虫\zip\二叉树.zip'
    for p in create_pwd(words):
        flag = passwd(dir, p)
        if flag == True:
            break

运行结果: 这个结果的命名很奇怪,但是问题不大只要可以解压,后面会讲解一下,比较难的解压方法,涉及到算法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-02-01,如有侵权请联系 cloudcommunity@tencent 删除python数据分析zip算法系统

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1145442.html

相关标签:无
上传时间: 2025-07-19 12:25:53
留言与评论(共有 20 条评论)
本站网友 hosts文件修复
4分钟前 发表
涉及到算法
本站网友 男人和美女睡觉
11分钟前 发表
比较难的解压方法
本站网友 电脑防辐射
25分钟前 发表
他于1989年1月公布了该格式的资料
本站网友 野田洋次郎
7分钟前 发表
# 添加一个异常处理 pass def create_pwd(words)
本站网友 博扬
15分钟前 发表
# 开始读zip文件 with ZipFile(path
本站网友 盐城地税
10分钟前 发表
words = '12456789' dir = 'D
本站网友 复古风格装修图片
6分钟前 发表
这种格式允许对不同的文件使用不同的算法
本站网友 南广学院
14分钟前 发表
除非需要涉及到哈希字典
本站网友 日本樱花电器
5分钟前 发表
\系统默认\桌面\python数据分析\python爬虫\zip\二叉树.zip")运行结果: 对于没有密码的解压
本站网友 谷歌公司市值
17分钟前 发表
然后给这个zip压缩包设置一个密码
本站网友 成都翡翠城二手房
13分钟前 发表
他于1989年1月公布了该格式的资料
本站网友 鱼尾纹价格
6分钟前 发表
编写枚举密码的函数 如果学过算法的就知道了
本站网友 李光洁博客
28分钟前 发表
编码讲解准备工作首先是需要创建一个.zip后缀名的压缩包
本站网友 东莞叫鸡
29分钟前 发表
然后给这个zip压缩包设置一个密码
本站网友 小米公司地址
3分钟前 发表
后面会讲解一下
本站网友 男女生了没
28分钟前 发表
# 开始读zip文件 with ZipFile(path
本站网友 霸王洗发水事件
11分钟前 发表
# print("当前尝试的密码是
本站网友 口周皮炎
4分钟前 发表
现在就只讨论暴力的写法
本站网友 蛇皮的作用
8分钟前 发表
# print(''.join(i)) yield ''.join(i) # 把这个函数制作成一个迭代器 if __name__ == '__main__'