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

手把手教你使用Python解決簡單的zip文件解壓密碼

 更新時間:2021年11月22日 16:23:54   作者:python可樂編程  
本文主要介紹了Python解決簡單的zip文件解壓密碼,使用的核心模塊是python標準庫中的zipfile模塊。具有一定的參考價值,感興趣的可以了解一下

簡介

使用的核心模塊是python標準庫中的zipfile模塊。這個模塊可以實現(xiàn)zip文件的各種功能,具體可以查看官方參考文檔。這里的暴力破解的意思是對密碼可能序列中的值一個一個進行密碼嘗試,這對人來說是很難的,可是對計算機而言并不難。有時候我們下載的zip文件需要密碼解壓而我們不知道,需要付費才知道。所以這里主要介紹兩種暴力破解的密碼:純數(shù)字密碼和英文數(shù)字組合密碼。

文件創(chuàng)建

首先測試文件為test.txt(僅包含單行文本),壓縮后文件為test.zip,壓縮密碼為2340,壓縮后刪除目錄下的txt文件。。

上圖注意勾選傳統(tǒng)加密。

純數(shù)字密碼

指的是不用0開頭的數(shù)字密碼,0開頭見后面的字母組合。原理就是zipfile模塊解壓壓縮文件時,一旦密碼不正確,程序會終止,在try語句只有成功解壓的密碼才會執(zhí)行到extract函數(shù)調(diào)用后面的語句。

代碼:

import zipfile
import time
import threading
startTime = time.time()
# 判斷線程是否需要終止
flag = True
 
 
def extract(password, file):
    try:
        password = str(password)
        file.extractall(path='.', pwd=password.encode('utf-8'))
        print("the password is {}".format(password))
        nowTime = time.time()
        print("spend time is {}".format(nowTime-startTime))
        global flag
        # 成功解壓其余線程終止
        flag = False
    except Exception as e:
        print(e)
 
 
def do_main():
    zfile = zipfile.ZipFile("test.zip", 'r')
    # 開始嘗試
    for number in range(1, 9999):
        if flag is True:
            t = threading.Thread(target=extract, args=(number, zfile))
            t.start()
            t.join()
 
 
if __name__ == '__main__':
    do_main()

顯然,解壓成功,這里提一下這種編碼 密碼的方式只適用于傳統(tǒng)zip加密,winrar有一種新式的默認加密方式,是不可以的。

字母數(shù)字混合密碼

這里情況密碼組合太多,為了防止內(nèi)存溢出,改用迭代器。這種情況費時很久,可以閑來無事掛著腳本。這里再次壓縮文件,密碼為python。

import zipfile
import random
import time
import sys
 
 
class MyIterator():
    # 單位字符集合
    letters = 'abcdefghijklmnopqrstuvwxyz012345678'
    min_digits = 0
    max_digits = 0
 
    def __init__(self, min_digits, max_digits):
        # 實例化對象時給出密碼位數(shù)范圍,一般4到10位
        if min_digits < max_digits:
            self.min_digits = min_digits
            self.max_digits = max_digits
        else:
            self.min_digits = max_digits
            self.max_digits = min_digits
 
    # 迭代器訪問定義
    def __iter__(self):
        return self
 
    def __next__(self):
        rst = str()
        for item in range(0, random.randrange(self.min_digits, self.max_digits+1)):
            rst += random.choice(MyIterator.letters)
        return rst
 
 
def extract():
    start_time = time.time()
    zfile = zipfile.ZipFile("test.zip")
    for p in MyIterator(5, 6):
        try:
            zfile.extractall(path=".", pwd=str(p).encode('utf-8'))
            print("the password is {}".format(p))
            now_time = time.time()
            print("spend time is {}".format(now_time-start_time))
            sys.exit(0)
        except Exception as e:
            pass
 
 
if __name__ == '__main__':
    extract()

字符的序列組合很多,需要等待。

補充說明

很多人反饋這個方法無效,這主要是因為文件路徑不正確(我的代碼是默認該Python腳本所在目錄下的zip文件進行解壓的)和加密方式并非傳統(tǒng)加密。這種暴力破解方法只在自己大致記得密碼位數(shù)和密碼格式(如只有字母等)時比較實用,完全的暴力破解是不現(xiàn)實的,畢竟做加密的也不是白做的。

到此這篇關(guān)于手把手教你使用Python解決簡單的zip文件解壓密碼的文章就介紹到這了,更多相關(guān)Python zip文件解壓密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用psutil庫對系統(tǒng)數(shù)據(jù)進行采集監(jiān)控的方法

    Python使用psutil庫對系統(tǒng)數(shù)據(jù)進行采集監(jiān)控的方法

    利用psutil庫可以獲取系統(tǒng)的一些信息,如cpu,內(nèi)存等使用率,從而可以查看當前系統(tǒng)的使用情況,實時采集這些信息可以達到實時監(jiān)控系統(tǒng)的目的。本文給大家介紹Python psutil系統(tǒng)監(jiān)控的相關(guān)知識,感興趣的朋友一起看看吧
    2021-08-08
  • 基于Python實現(xiàn)地標景點識別功能

    基于Python實現(xiàn)地標景點識別功能

    地標景點識別是一種基于計算機視覺技術(shù)的應(yīng)用,旨在通過對圖像進行分析和處理,自動識別出圖片中的地標景點,本文將介紹地標景點識別的背景和原理,并使用Python編程語言來實現(xiàn)一個簡單的地標景點識別系統(tǒng),感興趣的朋友可以參考下
    2024-01-01
  • python簡單實現(xiàn)刷新智聯(lián)簡歷

    python簡單實現(xiàn)刷新智聯(lián)簡歷

    本文給大家分享的是個人弄的一個使用Python簡單實現(xiàn)刷新智聯(lián)招聘簡歷的小工具的代碼,非常的簡單,給大家參考下吧。
    2016-03-03
  • 用python實現(xiàn)域名資產(chǎn)監(jiān)控的詳細步驟

    用python實現(xiàn)域名資產(chǎn)監(jiān)控的詳細步驟

    域名資產(chǎn)監(jiān)控,通過輸入一個主域名,找到該域名對應(yīng)的ip地址所在的服務(wù)器的端口開閉情況,本文重點給大家介紹用python實現(xiàn)域名資產(chǎn)監(jiān)控的問題,需要的朋友可以參考下
    2021-11-11
  • python刪除csv文件的行列

    python刪除csv文件的行列

    這篇文章主要介紹了python刪除csv文件中的某幾列或行,主要介紹了python對csv刪除的方法,感興趣的同學可以參考學習
    2021-04-04
  • python繪制高斯曲線

    python繪制高斯曲線

    這篇文章主要為大家詳細介紹了python繪制高斯曲線,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Python使用描述符實現(xiàn)屬性類型檢查的案例解析

    Python使用描述符實現(xiàn)屬性類型檢查的案例解析

    這篇文章主要介紹了Python使用描述符實現(xiàn)屬性類型檢查,實例屬性就是在一個類中將另一個類的實例作為該類的一個數(shù)屬性,本文通過代碼演示給大家介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Python中關(guān)鍵字global和nonlocal的區(qū)別詳解

    Python中關(guān)鍵字global和nonlocal的區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于Python中關(guān)鍵字global和nonlocal的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • Tensorflow 合并通道及加載子模型的方法

    Tensorflow 合并通道及加載子模型的方法

    今天小編就為大家分享一篇Tensorflow 合并通道及加載子模型的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python 信息同時輸出到控制臺與文件的實例講解

    python 信息同時輸出到控制臺與文件的實例講解

    今天小編就為大家分享一篇python 信息同時輸出到控制臺與文件的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評論

理塘县| 宁蒗| 公安县| 柞水县| 永平县| 泰来县| 宜章县| 卓尼县| 闵行区| 华容县| 郧西县| 潢川县| 宁明县| 井冈山市| 乐东| 八宿县| 宁远县| 泸溪县| 扬中市| 广德县| 抚远县| 鄂伦春自治旗| 固安县| 金华市| 双辽市| 石泉县| 福安市| 平陆县| 古蔺县| 印江| 鲁山县| 平陆县| 蒙城县| 阳朔县| 延津县| 个旧市| 汤原县| 南昌市| 玉林市| 仁布县| 皮山县|