欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么破解加密zip文件的密碼

本篇內(nèi)容主要講解“怎么破解加密zip文件的密碼”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么破解加密zip文件的密碼”吧!

成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的10年時(shí)間我們累計(jì)服務(wù)了上千家以及全國政企客戶,如隧道混凝土攪拌車等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過硬的技術(shù)實(shí)力獲得客戶的一致贊美。

之前在家里的老電腦中,發(fā)現(xiàn)一個(gè)加密zip壓縮包,由于時(shí)隔太久忘記密碼了,依稀記得密碼是6位字母加數(shù)字,網(wǎng)上下載了很多破解密碼的軟件都沒有效果,于是想到自己用Python寫一個(gè)暴力破解密碼的腳本。

Python有一個(gè)內(nèi)置模塊zipfile可以干這個(gè)事情,測試一波,一個(gè)測試文件,設(shè)置解壓密碼為123。

怎么破解加密zip文件的密碼

import zipfile  # 創(chuàng)建文件句柄 file = zipfile.ZipFile("測試.zip", 'r') # 提取壓縮文件中的內(nèi)容,注意密碼必須是bytes格式,path表示提取到哪 file.extractall(path='.', pwd='123'.encode('utf-8'))

運(yùn)行效果如下圖所示,提取成功。

怎么破解加密zip文件的密碼

好了開始破解老文件的密碼,為了提高速度我加了多線程最初的代碼:

import zipfile import itertools from concurrent.futures import ThreadPoolExecutor  def extract(file, password):     if not flag: return     file.extractall(path='.', pwd=''.join(password).encode('utf-8'))   def result(f):     exception = f.exception()     if not exception:         # 如果獲取不到異常說明破解成功         print('密碼為:', f.pwd)         global flag         flag = False   if __name__ == '__main__':     # 創(chuàng)建一個(gè)標(biāo)志用于判斷密碼是否破解成功     flag = True     # 創(chuàng)建一個(gè)線程池     pool = ThreadPoolExecutor(100)     nums = [str(i) for i in range(10)]     chrs = [chr(i) for i in range(65, 91)]     # 生成數(shù)字+字母的6位數(shù)密碼     password_lst = itertools.permutations(nums + chrs, 6)     # 創(chuàng)建文件句柄     zfile = zipfile.ZipFile("加密文件.zip", 'r')     for pwd in password_lst:         if not flag: break         f = pool.submit(extract, zfile, pwd)         f.pwd = pwd         f.pool = pool         f.add_done_callback(result)

這個(gè)代碼有個(gè)問題,跑一會(huì)兒內(nèi)存就爆了!原因:ThreadPoolExecutor默認(rèn)使用的是無界隊(duì)列,嘗試密碼的速度跟不上生產(chǎn)密碼的速度,會(huì)把生產(chǎn)任務(wù)無限添加到隊(duì)列中。導(dǎo)致內(nèi)存被占滿。內(nèi)存直接飆到95:

怎么破解加密zip文件的密碼

然后程序奔潰:

怎么破解加密zip文件的密碼

看了一下源碼發(fā)現(xiàn)ThreadPoolExecutor內(nèi)部使用的是無界隊(duì)列,所以導(dǎo)致內(nèi)存直接飆滿,重寫ThreadPoolExecutor類中的_work_queue屬性,將無界隊(duì)列改成有界隊(duì)列,這樣就不會(huì)出現(xiàn)內(nèi)存爆滿的問題,看代碼:

import queue from concurrent.futures import ThreadPoolExecutor   class BoundedThreadPoolExecutor(ThreadPoolExecutor):     def __init__(self, max_workers=None, thread_name_prefix=''):         super().__init__(max_workers, thread_name_prefix)         self._work_queue = queue.Queue(self._max_workers * 2) # 設(shè)置隊(duì)列大小

最后破解成功,如下圖所示。

怎么破解加密zip文件的密碼

到此,相信大家對“怎么破解加密zip文件的密碼”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞標(biāo)題:怎么破解加密zip文件的密碼
轉(zhuǎn)載源于:http://chinadenli.net/article38/jhhipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、手機(jī)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)