最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python破解zip加密文件的方法

 更新時間:2018年05月31日 11:37:53   作者:李無敵  
這篇文章主要介紹了python破解zip加密文件的方法,本文圖文并茂給大家介紹的非常詳細,需要的朋友可以參考下

首先我們先來桌面創(chuàng)建一個文件


我們創(chuàng)建了一個名為q的txt文件然后我們將它壓縮,壓縮的時候記得設置上密碼



我這邊將密碼設置為123456, 接下來我們打開我們的編寫工具,開始寫代碼,我這里用的是pycharm,推薦大家使用

這里我們將使用到python的zipfile的模塊,編寫zip文件口令破解機要從學習 zipfile庫的使用方法著手。打開 Python解釋器,我們

用help( zipfile)命令進一步了解這個庫,并重點看一下 Zip File類中的 extractall方法。這個類和這個方法對我們編程破解有口令保護的Zip文件是很有用的。請注意 extractant(方法用可選參數(shù)指定密碼的方式

編寫一個腳本來測試一下zip文件庫的用法。導入庫后,用帶有口令保護的Zip文件的文件名,實例化一個新的 Zipfile類。要解壓這個Zip文件,我們使用 extractall方法,并在可選參數(shù)pwd上填入口令。

創(chuàng)建一個.py文件,在根目錄然后在將我們的壓縮文件放入同目錄里面,項目結構目錄


我們.py文件的代碼:

import zipfile 
zipFile = zipfile.ZipFile("q.zip","r")//這里是我們的壓縮文件 
zipFile.extractall(pwd="123456")//這里是我們的密碼 

這段代碼其實就是拿著密碼去解壓我們剛剛壓縮的文件,網(wǎng)上大多數(shù)教程都是這樣寫的,但是我這邊使用python3.6就會發(fā)現(xiàn)運行的時候報錯了

反正錯誤大概的意思就是pwd的接收的數(shù)據(jù)應該是bytes類型但是它得到的卻是str類型的反正就是類型錯了,那我們就將密碼轉換為bytes類型,我們的py文件的代碼如下:

import zipfile 
zipFile = zipfile.ZipFile("q.zip","r") 
password = '123456' 
zipFile.extractall(pwd=str.encode(password) ) 

這時候我們再次運行項目

這次沒有報錯


我們可以看到在我們的項目根目錄下多了一個文件就是我們之前壓縮的那個文件

想了解更多zipfile的小伙伴可以點擊這里點擊打開鏈接

接下來我們繼續(xù)改造,如果用一個錯誤密碼執(zhí)行這個腳本會發(fā)生什么情況?讓我們在腳本中增加一些捕獲和處理異常的代碼,顯示錯誤的信息。

import zipfile 
zipFile = zipfile.ZipFile("q.zip","r") 
try: 
 password = '123s456' 
 zipFile.extractall(pwd=str.encode(password)) 
except Exception as ex: 
 print(ex) 

這時候我們的py文件代碼,并且我們還將密碼故意寫錯來測試一下,來看一下運行結果


在這里我們可以看到錯誤 信息,就是告訴我們密碼錯誤

我們可以用因口令不正確而拋出的異常來測試我們的字典文件(接下來的zidian.text)中是否有Zip文件的口令。實例化一個 Zip File類之后,我們打開字典文件,遍歷并測試字典中的每個單詞。如果 extractall0函數(shù)的執(zhí)行沒有出錯,則打印一條消息,輸出正確的口令。但是,如果 extractall()函數(shù)拋出了一個口令錯誤的異常,就忽略這個異常,并繼續(xù)測試字典中的下一個口令。

我們先創(chuàng)建一個zidian.text文件

接下來我們在zidian.text文件中編寫我們的密碼字典,每一行一個密碼,紅色部分是我們的正確密碼

然后將我們的密碼字典放入項目中


接著我們繼續(xù)修改我們的腳本

import zipfile 
zipFile = zipfile.ZipFile("q.zip","r") 
#打開我們的字典表 
passFile = open('zidian.txt') 
for line in passFile.readlines(): 
 #讀取每一行數(shù)據(jù)(每一個密碼) 
 password = line.strip('\n') 
 try: 
 zipFile.extractall(pwd=str.encode(password)) 
 print('=========密碼是:'+password+'\n') 
 #如果密碼正確退出程序 
 exit(0) 
 except Exception as ex: 
 #跳過 
 pass 

接下來我們看一下運行結果


哈哈我們已經(jīng)成功破解了zip文件的密碼,到這里我們不難發(fā)現(xiàn)只要我們字典里面有密碼我們就可以破解出來

我們繼續(xù)將我們的項目優(yōu)化一下:

import zipfile 
def extractFile(zFile,password): 
 try: 
 zFile.extractall(pwd=str.encode(password)) 
 #如果成功返回密碼 
 return password 
 except: 
 return 
def main(): 
 zFile = zipfile.ZipFile("q.zip","r") 
 #打開我們的字典表 
 passFile = open('zidian.txt') 
 for line in passFile.readlines(): 
 #讀取每一行數(shù)據(jù)(每一個密碼) 
 password = line.strip('\n') 
 guess = extractFile(zFile,password) 
 if (guess): 
  print("=========密碼是:"+password+"\n") 
  exit(0) 
if __name__=='__main__': 
 main() 

這樣就好多了!

接下來再給大家貼一個生成全部六位數(shù)數(shù)字密碼的代碼:

f = open('zidian.txt','w') 
for id in range(1000000): 
 password = str(id).zfill(6)+'\n' 
 f.write(password) 
f.close() 


運行成功后我們可以看到再我們的zidian.txt已經(jīng)生成好了從000000到999999都有了這樣我們只要是6位數(shù)數(shù)字密碼的zip文件我們都可以破解了!

總結

以上所述是小編給大家介紹的python破解zip加密文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • Python如何使用WebSocket實現(xiàn)實時Web應用

    Python如何使用WebSocket實現(xiàn)實時Web應用

    這篇文章主要介紹了Python使用WebSocket實現(xiàn)實時Web應用,Django?Channels?提供了強大的功能,使得在?Django?中實現(xiàn)實時功能變得更加容易,你可以在此基礎上擴展,添加更多功能和復雜的邏輯,需要的朋友可以參考下
    2024-08-08
  • Python+ChatGPT實現(xiàn)5分鐘快速上手編程

    Python+ChatGPT實現(xiàn)5分鐘快速上手編程

    最近一段時間chatGPT火爆出圈!無論是在互聯(lián)網(wǎng)行業(yè),還是其他各行業(yè)都賺足了話題。俗話說:“外行看笑話,內(nèi)行看門道”,今天從chatGPT個人體驗感受以及如何用的角度來分享一下
    2023-02-02
  • python-序列解包(對可迭代元素的快速取值方法)

    python-序列解包(對可迭代元素的快速取值方法)

    今天小編就為大家分享一篇python-序列解包(對可迭代元素的快速取值方法),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python實現(xiàn)解壓當天創(chuàng)建的ZIP文件到指定文件夾中

    Python實現(xiàn)解壓當天創(chuàng)建的ZIP文件到指定文件夾中

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)解壓當天創(chuàng)建的ZIP文件到指定文件夾中,文中的示例代碼講解詳細,需要的小伙伴可以參考下
    2024-03-03
  • python 實現(xiàn)全球IP歸屬地查詢工具

    python 實現(xiàn)全球IP歸屬地查詢工具

    這篇文章主要介紹了python 實現(xiàn)全球IP歸屬地查詢工具的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python使用cPickle模塊序列化實例

    python使用cPickle模塊序列化實例

    這篇文章主要介紹了python使用cPickle模塊序列化的方法,是一個非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • Python英文文章詞頻統(tǒng)計(14份劍橋真題詞頻統(tǒng)計)

    Python英文文章詞頻統(tǒng)計(14份劍橋真題詞頻統(tǒng)計)

    這篇文章主要介紹了Python英文文章詞頻統(tǒng)計(14份劍橋真題詞頻統(tǒng)計),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Python如何讀取文件中圖片格式

    Python如何讀取文件中圖片格式

    這篇文章主要介紹了Python如何讀取文件中圖片格式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python的numpy庫下的幾個小函數(shù)的用法(小結)

    Python的numpy庫下的幾個小函數(shù)的用法(小結)

    這篇文章主要介紹了Python的numpy庫下的幾個小函數(shù)的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python多核處理器算力浪費問題解決

    python多核處理器算力浪費問題解決

    這篇文章主要為大家介紹了python多核處理器算力浪費現(xiàn)象的處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06

最新評論

美姑县| 观塘区| 正蓝旗| 望江县| 保山市| 通渭县| 曲靖市| 永兴县| 林芝县| 灵宝市| 赣榆县| 河曲县| 红原县| 休宁县| 台南市| 平果县| 天台县| 定日县| 拜城县| 浏阳市| 晋中市| 东安县| 天祝| 湖北省| 崇阳县| 新竹市| 贵港市| 托里县| 宝丰县| 平乐县| 凤翔县| 长乐市| 渑池县| 湛江市| 子洲县| 明星| 沭阳县| 正宁县| 金平| 阿拉善左旗| 开远市|