首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用Python破解压缩包解压密码代码

用Python破解压缩包解压密码代码

作者头像
用户9925864
发布2022-12-16 14:17:24
发布2022-12-16 14:17:24
3.8K0
举报

在一些特殊的情况下出于保护隐私,用户会对压缩包增加密码,这种情况可以用python通过循环来破解压缩包解压密码,方法原始、简单、粗暴。代码种需要用到zipfile37第三方库。Python 的 zipfile 是一个旨在操作 ZIP 文件的标准库模块。在归档和压缩数字数据时,该文件格式是一种广泛采用的行业标准。可以使用它将几个相关文件打包在一起。它还可以减小文件大小并节省磁盘空间。最重要的是,它促进了计算机网络上的数据交换。

代码语言:javascript
复制
pip install zipfile37
代码语言:javascript
复制
import zipfile37 as zf
import itertools

filename = 'test.zip'


# password = '257'


# 解压函数
def uncompress(filename, password):
    try:
        with zf.ZipFile(filename) as zfile:
            zfile.extractall('./', pwd=password.encode('utf-8'))  # 解压到当前目录
        return True
    except:
        return False


chars = '0123456789'
# 迭代生成
for char in itertools.permutations(chars, 3):
    # 假设是三位字符
    password = ''.join(char)
    # print(password)
    # 调用前面uncompress方法
    result = uncompress(filename, password)
    if not result:
        print('解压失败!', password)
    else:
        print('解压成功', password)  # 成功了就退出循环
        break

用python压缩文件;

代码语言:javascript
复制
import zipfile37 as zp


def zip_files(files, zip_name):
    zip = zp.ZipFile(zip_name, 'w', zp.ZIP_DEFLATED)
    for file in files:
        print('compressing', file)
        zip.write(file)
    zip.close()
    print('compressing finished')


files = ['main1.py', 'main.py']  # 文件的位置,多个文件用“,”隔开
zip_file = 'main111.zip'  # 压缩包名字
zip_files(files, zip_file)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档