第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Python破解帶密碼的.zip和.rar文件

標(biāo)簽:
Python 安全 源碼

针对rar文件

从unrar导入了rarfile

pip安装完unrar后,运行的时候报错Couldn't find path to unrar library

需要下载rarlib的库文件,地址:http://www.rarlab.com/rar/UnRARDLL.exe,下载完成后,安装到指定的文件夹。此外,还需要配置环境变量:

64位操作系统配置x64文件夹中带64的UnRAR64.dll

https://img1.sycdn.imooc.com//5fdda8e300013d5406670190.jpg

32位操作系统配置直接配置UnRAR.dll

https://img1.sycdn.imooc.com//5fddaa3c0001b61406670190.jpg

完成后重启PyCharm。

针对zip文件(可解压的压缩类型有限)

我一开始解压zip文件的时候没有反应,后面我用下面的代码进行了测试:

import zipfile
fp = zipfile.ZipFile('D:/test.zip')  # 文件的路径与文件名
fp.extractall(path='D:/Java',members=fp.namelist(), pwd=b'000555')  # 循环解压文件到指定目录
fp.close()  # 关闭文件,必须有,释放内存

https://img1.sycdn.imooc.com//5fddae070001ba2d09780343.jpg

经过我的查询源代码发现,此处可解压的ZIP类型只支持下面几种

https://img1.sycdn.imooc.com//5fddae500001e9be09320358.jpg

于是在重新压缩文件设置密码的时候,勾选 了ZIP传统加密,才解压成功。

https://img1.sycdn.imooc.com//5fddae9c0001495d03360375.jpg

完整代码如下,本代码针对的密码字典为6位的纯数字,可根据需要找对应的密码字典:

import os
import zipfile

from unrar import rarfile

#生成密码字典
# f = open('D:/SixPwdDict.txt','w')
# for id in range(1000000):
#     password = str(id).zfill(6)+'\n'
#     print(password)
#     f.write(password)
# f.close()

def decryptRarZipFile(filename,desPath,pwdname):
    global fp
    try:
        fpPwd=open(pwdname)
    except:
        print('No file')
        return
    if filename.endswith('.zip'):#解压zip文件
        fp=zipfile.ZipFile(filename)
        for pwd in fpPwd:
            success = 0
            pwd = pwd.rstrip()
            try:
                print('当前密码:', pwd, '密码长度:', len(pwd))
                fp.extractall(path=desPath, pwd=pwd.encode())
                print('Success!password====>' + pwd)
                success = 1
                fp.close()
            except:
                pass
            if success == 1:
                break
    elif filename.endswith('.rar'):#解压rar文件
        fp=rarfile.RarFile(filename)
        for pwd in fpPwd:
            success=0
            pwd=pwd.rstrip()
            try:
                print('当前密码:', pwd,'密码长度:',len(pwd))
                fp.extractall(path=desPath,pwd=pwd)
                print('Success!password====>'+pwd)
                success=1
                fp.close()
            except:
                pass
            if success==1:
                break
    fpPwd.close()

if __name__=='__main__':
    filename='D:/txt.rar'#需解压的文件
    desPath = 'D:/Java'#解压的目的路径
    pwdname='D:/SixPwdDict.txt'#密码字典
    if os.path.isfile(filename) and filename.endswith(('.zip','.rar')):
        decryptRarZipFile(filename,desPath,pwdname)
    else:
        print('Must be rar or zip file')

解压成功效果

https://img1.sycdn.imooc.com//5fddafd90001580c06880286.jpg

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消