Zipfile学习笔记(二)::通过zipfile模块暴力破解加密的压缩文件

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 如何使用Python的zipfile模块生成密码表并尝试暴力破解加密的ZIP压缩文件。

1.创建TXT文档

生成了一个从000000到99999的密码表。

并把它们存入到 passdict.txt 的文件中。

def gen_code():
    """生成000000到999999的密码表"""
    f=open('password.txt','w')
    for id in range(1000000):
        password=str(id).zfill(6)+'\n'
        f.write(password)
    f.close()

结果如下:
在这里插入图片描述

2.暴力破解

zipFile模块式Python自带的模块,提供了对zip 文件的创建,读,写,追加,解压以及列出文件列表的操作,解压使用extractll方法extractall(path=None, members=None, pwd=None)

  • path:指定解压后文件的位置
  • members:(可选)指定要Zip文件中要解压的文件,这个文件名称必须是通过namelist()方法返回列表的子集
  • pwd:指定Zip文件的解压密码

那么我们可以利用 zipFile 模块来遍历密码表,
挨个挨个密码尝试,看能不能打开压缩包。
直到成功。

具体代码

def extractfile(zipfile,password):
    try:
        zipfile.extractall(pwd=bytes(password,'utf8'))
        return True
    except:
        pass

def main():
    zip_file=zipfile.ZipFile('1.zip')
    pwdlists=open('password.txt') # 读入所有密码
    for line in pwdlists.readlines(): # 挨个挨个输入密码
        pwd=line.strip('\n')
        guess=extractfile(zip_file,pwd)
        if guess==True:
            print('破解的密码是:{}'.format(pwd))
            break

if __name__ == '__main__':
    main()

运行结果:
在这里插入图片描述

目录
相关文章
|
23天前
|
数据安全/隐私保护 Python
用python对文件内容进行加密的2种方式
这篇文章介绍了使用Python对文件内容进行加密的两种方式:利用`cryptography`库的Fernet对称加密和使用`rsa`库进行RSA非对称加密。
36 6
|
2月前
|
存储 算法 数据库
使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
`hashlib` 是 Python 中用于实现哈希功能的模块,它可以将任意长度的输入通过哈希算法转换为固定长度的输出,即散列值。该模块主要用于字符串加密,例如将用户名和密码转换为不可逆的散列值存储,从而提高安全性。`hashlib` 提供了多种哈希算法,如 `md5`、`sha1`、`sha256` 等。
44 1
|
5月前
|
XML Java 关系型数据库
如何给application.yml文件的敏感信息加密?
本文介绍了如何在SpringBoot应用中使用jasypt进行配置信息的加密解密。首先,需要添加jasypt-spring-boot-starter的依赖,版本至少为3.0.5。接着,在配置文件中设置`jasypt.encryptor.password`等参数。jasypt提供`StringEncryptor`接口用于加密解密,通过该接口可以在测试类中对敏感信息(如数据库用户名和密码)进行加解密。加密后的信息需带有`ENC()`前后缀。推荐将加密密码作为系统属性、命令行参数或环境变量传递,而不是直接写入配置文件。
257 3
|
19天前
|
人工智能 IDE 开发工具
Python实行任意文件的加密—解密
Python实行任意文件的加密—解密
28 2
|
20天前
|
人工智能 IDE 开发工具
Python实行任意文件的加密—解密
Python实行任意文件的加密—解密
31 1
|
2天前
|
数据安全/隐私保护 Python
python学习十一:python常用模块使用,如 加密模块pyarmor,时间模块time等
这篇文章介绍了Python中两个常用模块的使用:加密模块pyarmor用于保护代码,以及时间模块time用于处理时间相关的功能。
|
8天前
|
IDE 开发工具 数据安全/隐私保护
如何对PDF的加密和破解?
PDF文档的加密与暴力破解加密文档
14 0
|
9天前
|
IDE 开发工具 数据安全/隐私保护
Python编程实现批量md5加密pdf文件
Python编程实现批量md5加密pdf文件
17 0
|
1月前
|
存储 NoSQL Java
|
2月前
|
Ubuntu Linux 数据安全/隐私保护
使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
本文介绍了在Linux系统(Ubuntu 18.04)下将Python源代码(`.py文件`)加密为`.so文件`的方法。首先安装必要的工具如`python3-dev`、`gcc`和`Cython`。然后通过`setup.py`脚本使用Cython将`.py文件`转化为`.so文件`,从而实现源代码的加密保护。文中详细描述了从编写源代码到生成及调用`.so文件`的具体步骤。此方法相较于转化为`.pyc文件`提供了更高的安全性。
50 2