91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么利用python破解zip加密文件

發布時間:2022-05-23 09:17:45 來源:億速云 閱讀:429 作者:iii 欄目:開發技術

本篇內容主要講解“怎么利用python破解zip加密文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么利用python破解zip加密文件”吧!

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

  • 準備一個加密的zip文件。

  • zipfile模塊可以解壓zip文件。

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

  • itertools.permutations實現全字符的全排列。

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

二、實例代碼演示

0、zip的壓縮方式

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

1、解壓zip文件

導入zipfile模塊,使用其中的extractall()函數。

import itertools
filename = "readme.zip"
# 創建一個解壓的函數,入參為文件名和密碼
# 并使用try-except,避免報錯中斷程序。
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、實現密碼字符的全排列

import zipfile
import itertools
filename = "readme.zip"
# 創建一個解壓的函數,入參為文件名和密碼
# 并使用try-except,避免報錯中斷程序。
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

文件壓縮時,一些注意的事項: 

怎么利用python破解zip加密文件

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

查過一些資料,zip壓縮文件密碼最長為12位,在原來的程序上增加上一個for循環就可以實現破解密碼了。

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

到此,相信大家對“怎么利用python破解zip加密文件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵阳市| 通州市| 浮山县| 砚山县| 桦川县| 西乌珠穆沁旗| 屯昌县| 弥渡县| 闽侯县| 宜兰县| 宜章县| 同江市| 枝江市| 云阳县| 乐东| 杭锦后旗| 蕲春县| 湘乡市| 吉水县| 宝兴县| 阿勒泰市| 页游| 故城县| 新营市| 阿合奇县| 渭源县| 绿春县| 惠来县| 神农架林区| 化州市| 那坡县| 巢湖市| 军事| 彰化市| 洪雅县| 德安县| 特克斯县| 阳新县| 澜沧| 株洲市| 清镇市|