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

???????如何利用python破解zip加密文件

 更新時(shí)間:2022年05月22日 11:13:38   作者:??藍(lán)星部隊(duì)????  
這篇文章主要介紹了???????如何利用python破解zip加密文件,文章基于python的相關(guān)資料展開破解zip加密文件的詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下

前言:

日常工作中,會(huì)遇到一些加密的zip文件,但是因?yàn)槟承┰蚧蛘邥r(shí)間過長,密碼不知道了。但是zip文件中文件有很重要很必須。那么,我們?cè)囈辉嚾f能的Python,暴力破解密碼。

一、破解zip加密文件的思路

  • 準(zhǔn)備一個(gè)加密的zip文件。
  • zipfile模塊可以解壓zip文件。

解壓時(shí)可以提供密碼zfile.extractall("./", pwd=password.encode("utf8"))

  • itertools.permutations實(shí)現(xiàn)全字符的全排列。

通過函數(shù)itertools.permutations("abc", 3)實(shí)現(xiàn)全字符的全排列:abc/acb/bca/bac/cab/cba

二、實(shí)例代碼演示

0、zip的壓縮方式

本文介紹的zip文件知道密碼一共是4位的,密碼字符的范圍是a-z1-0。并且不存在重復(fù)字符的,不會(huì)有“aabb”的密碼。zip壓縮時(shí)是選擇了zip傳統(tǒng)加密!

1、解壓zip文件

導(dǎo)入zipfile模塊,使用其中的extractall()函數(shù)。

import itertools
filename = "readme.zip"
# 創(chuàng)建一個(gè)解壓的函數(shù),入?yún)槲募兔艽a
# 并使用try-except,避免報(bào)錯(cuò)中斷程序。
def uncompress(file_name, pass_word):
    try:
        with zipfile.ZipFile(file_name) as z_file:
            z_file.extractall("./", pwd=pass_word.encode("utf-8"))
        return True
    except:
        return False

2、實(shí)現(xiàn)密碼字符的全排列

import zipfile
import itertools
filename = "readme.zip"
# 創(chuàng)建一個(gè)解壓的函數(shù),入?yún)槲募兔艽a
# 并使用try-except,避免報(bào)錯(cuò)中斷程序。
def uncompress(file_name, pass_word):
    try:
        with zipfile.ZipFile(file_name) as z_file:
            z_file.extractall("./", pwd=pass_word.encode("utf-8"))
        return True
    except:
        return False
# chars是密碼可能的字符集
chars = "abcdefghijklmnopqrstuvwxyz0123456789"
for c in itertools.permutations(chars, 4):
    password = ''.join(c)
    print(password)
    result = uncompress(filename, password)
    if not result:
        print('解壓失敗。', password)
    else:
        print('解壓成功。', password)
        break

文件壓縮時(shí),一些注意的事項(xiàng): 

三、密碼是幾位未知,也可以破解密碼

查過一些資料,zip壓縮文件密碼最長為12位,在原來的程序上增加上一個(gè)for循環(huán)就可以實(shí)現(xiàn)破解密碼了。

import zipfile
import itertools
filename = "readme.zip"
def uncompress(file_name, pass_word):
    try:
        with zipfile.ZipFile(file_name) as z_file:
            z_file.extractall("./", pwd=pass_word.encode("utf-8"))
        return True
    except:
        return False
chars = "abcdefghijklmnopqrstuvwxyz0123456789"
for i in range(12):
    for c in itertools.permutations(chars, i):
        password = ''.join(c)
        print(password)
        result = uncompress(filename, password)
        if not result:
            print('解壓失敗。', password)
        else:
            print('解壓成功。', password)
            break

總結(jié)

此方法可以是實(shí)現(xiàn)破解zip文件的密碼,python可以完成一些好玩的事情。

到此這篇關(guān)于如何利用python破解zip加密文件的文章就介紹到這了,更多相關(guān)python破解加密文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中魔術(shù)方法的定義及一些常用方法

    Python中魔術(shù)方法的定義及一些常用方法

    所有以雙下劃線__包起來的方法,統(tǒng)稱為Magic Method(魔術(shù)方法),它是一種的特殊方法,這篇文章主要給大家介紹了關(guān)于Python中魔術(shù)方法的定義及一些常用方法,需要的朋友可以參考下
    2024-02-02
  • python如何建立全零數(shù)組

    python如何建立全零數(shù)組

    在本篇內(nèi)容里小編給大家分享了關(guān)于python建立全零數(shù)組的方法,需要的朋友們跟著學(xué)習(xí)下吧。
    2020-07-07
  • Python PyQt5實(shí)戰(zhàn)項(xiàng)目之查詢器的實(shí)現(xiàn)流程詳解

    Python PyQt5實(shí)戰(zhàn)項(xiàng)目之查詢器的實(shí)現(xiàn)流程詳解

    PyQt5以一套Python模塊的形式來實(shí)現(xiàn)功能。它包含了超過620個(gè)類,600個(gè)方法和函數(shù)。它是一個(gè)多平臺(tái)的工具套件,它可以運(yùn)行在所有的主流操作系統(tǒng)中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式。開發(fā)者可以在GPL和社區(qū)授權(quán)之間選擇
    2021-11-11
  • python中使用print輸出中文的方法

    python中使用print輸出中文的方法

    今天小編就為大家分享一篇python中使用print輸出中文的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • django處理select下拉表單實(shí)例(從model到前端到post到form)

    django處理select下拉表單實(shí)例(從model到前端到post到form)

    這篇文章主要介紹了django處理select下拉表單實(shí)例(從model到前端到post到form),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python txt文件常用讀寫操作代碼實(shí)例

    Python txt文件常用讀寫操作代碼實(shí)例

    這篇文章主要介紹了Python txt文件常用讀寫操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python 類之間的參數(shù)傳遞方式

    python 類之間的參數(shù)傳遞方式

    今天小編就為大家分享一篇python 類之間的參數(shù)傳遞方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 詳解向scrapy中的spider傳遞參數(shù)的幾種方法(2種)

    詳解向scrapy中的spider傳遞參數(shù)的幾種方法(2種)

    這篇文章主要介紹了詳解向scrapy中的spider傳遞參數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python中的enumerate() 函數(shù)用法詳解

    Python中的enumerate() 函數(shù)用法詳解

    enumerate()是python的內(nèi)置函數(shù),將一個(gè)可遍歷iterable數(shù)據(jù)對(duì)象(如list列表、tuple元組或str字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中,這篇文章主要介紹了Python中的enumerate() 函數(shù)用法詳解,需要的朋友可以參考下
    2024-01-01
  • PyQt5高級(jí)界面控件之QTableWidget的具體使用方法

    PyQt5高級(jí)界面控件之QTableWidget的具體使用方法

    這篇文章主要介紹了PyQt5高級(jí)界面控件之QTableWidget的具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評(píng)論

全州县| 叙永县| 刚察县| 井陉县| 定陶县| 黔南| 德阳市| 苏州市| 钟山县| 黄大仙区| 高雄县| 鸡西市| 湖州市| 防城港市| 东阿县| 嘉禾县| 纳雍县| 宜兰县| 崇文区| 铜鼓县| 兴宁市| 普宁市| 佛山市| 亳州市| 巴马| 海林市| 米泉市| 遂溪县| 沙坪坝区| 通道| 孝感市| 隆昌县| 苏州市| 孟州市| 大姚县| 弥勒县| 开阳县| 临猗县| 利津县| 永兴县| 定日县|