亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Python如何破解加密壓縮包

發布時間:2021-12-17 13:06:49 來源:億速云 閱讀:292 作者:iii 欄目:開發技術

本篇內容介紹了“Python如何破解加密壓縮包”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、準備工作

我們先打開一個加密的壓縮包嘗試原始方法解壓一下

Python如何破解加密壓縮包

然后彈出來讓我輸密碼

Python如何破解加密壓縮包

正常打不開,如果你點擊跳過所有加密,它也不會打開,直接就關閉當前你窗口了。

那正常情況下,我們能怎么辦,什么也辦不了,下一個會更乖。

Python如何破解加密壓縮包

我們打開pycharm,新建一個py文件,暫且我把它命名為zip_pwd

靈魂三問:沒有pycharm?Python也沒有?還不會安裝?私我

Python如何破解加密壓縮包

在這之前呢,我們先要去收集一些信息,比如當前的密碼位數與類型。

類型包含包括它有沒有特殊字符,有沒有字符串,是不是純數字。

假設我們現在已知信息呢,總共有兩個,已知當前密碼類型為整形,六位數密碼。

我們先創建一個純數字6位密碼庫,你也可以去GitHub上面下載一個包含所有字符的密碼字典庫,這個現在是開源的,破解時間具體要看設置的密碼長短、復雜與否。

Python如何破解加密壓縮包

二、開始操作

回到正題

已知我們現在的密碼是六位純數字,那么怎么自己創建密碼字典呢?

首先我們要完成一個文件寫入的功能

首先聲明一個變量 f

f = open()
# Python內置函數

open是一個IO流,可以完成文件讀寫功能。

比如說我先想在一個文件里寫入一些內容,就可以通過open去做 。

然后我們通過open創建一個文件,名字暫且命名為possword.txt,在加入一個寫入方式,以 w方式去寫入。

f = open('password.txt','w')

然后通過循環去創建密碼,密碼設置個1000000

for id in range(1000000)

這時候需要創建一個password變量生成密碼,創建之前先導入一個方法的包。

import zipfile

然后通過password可以開始生成密碼了 ,這個zfill等于 6位的,再加上換行,因為生成一個密碼就要換一行,并且生成密碼應該是一個字符串類型。

password = str(id).zfill(6) + '\n'

然后通過f.write方法把password寫入到文件當中

f.write(password)

寫進去之后要去關閉當前的文件流

f.close()

然后我們來嘗試去生成一下,看看能不能成功。

import zipfile

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

可以看到這里給我們生成了一個possword.txt密碼字典,它是一個密碼庫。

Python如何破解加密壓縮包

從000000一直到999999它已經全部生成出來了。

Python如何破解加密壓縮包

這就是一個簡單的密碼字典生成方式,如果要去生成一個比較復雜的密碼肯定不會這么簡單,給你們看個一個復雜的,這里我就不演示了,看看就可以了,將近寫了一萬多行。

Python如何破解加密壓縮包

所以你們自己想要去生成的話,還得專門好好學一下。

Python如何破解加密壓縮包

搞定六位數數字密碼字典后我們需要完成解決壓縮文件密碼的函數

首先我們先來聲明一個函數 ,取個名字叫file,然后加入兩個行參。

第一個是我的壓縮文件zipfile,第二個是當前需要傳入的密碼password

def pwd_file(zipfile,password):

傳完行參后寫上一個異常處理,調用zipfile,它里面會有一個方法extractall傳入兩個值,第一個是pwd傳入字節,在字節里傳入行參,編碼集是utf8

tey:
	zipfile.extractall(pwd=bytes(password, 'utf8'))

然后print壓縮包密碼,打印password

print('壓縮包密碼:', password)

因為密碼庫里面密碼比較多,只有一個正確的,其它的都是錯誤的,所以肯定會報錯,所以我們要寫一個異常處理,寫上一個pass就可以了,報錯了就給它pass掉。

except:
    pass

這就是一個簡單的函數,我們通過zipfile它里面的一個extractall方法去智能的獲取正確密碼,它是可以自動匹配密碼的。

然后我們來寫上執行函數

先寫上一個main函數

def main():

main函數里面,通過zipfile方法把加密的壓縮文件代入到代碼中。

zipFlie = zipfile.ZipFile('./獲取文件密碼.zip')

通過pwd生成一個list變量,打開生成的密碼文件。

pwd_list = open('./password.txt')

然后我們需要一個一個去試密碼,這個是一行一行的去讀。

for line in pwd_list.readlines():

讀到一個就把它寫進去,拿到一個密碼刪除一個換行符。

pwd = line.strip('\n')

通過pwd_file調用之前寫的函數,傳zipFliepwd

pwd_file(zipFlie, pwd)

最后寫入函數入口,寫上一個main,為什么要寫這個函數入口呢?不寫也可以運行的。

因為它是用來去做測試的。

if __name__是一個測試入口,什么意思呢?

比如我在當前文件下導入了其它文件庫,但是我又不想用,我就可以通過if讓它不去運行,所以可寫可不寫,當一個延伸。

if __name__ == '__main__':
    main()

全部代碼

import zipfile


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


def pwd_file(zipFlie, password):
    try:
        zipFlie.extractall(pwd=bytes(password, 'utf8'))
        print('壓縮包密碼:', password)
    except:
        pass


def main():
    zipFlie = zipfile.ZipFile('./獲取文件密碼.zip')
    pwd_list = open('./password.txt')
    for line in pwd_list.readlines():
        pwd = line.strip('\n')
        pwd_file(zipFlie, pwd)


if __name__ == '__main__':
    main()

我們看看效果,可以看到壓縮包的密碼已經打印出來了。

Python如何破解加密壓縮包

如果你要獲取的密碼越復雜,你的電腦越好就計算的越快。

“Python如何破解加密壓縮包”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

延吉市| 石屏县| 沁源县| 遂平县| 长治市| 喀喇| 平度市| 隆化县| 乌拉特后旗| 桐乡市| 吴桥县| 南昌市| 塘沽区| 临沭县| 金沙县| 家居| 卢湾区| 昌乐县| 都安| 防城港市| 隆尧县| 广德县| 孝义市| 汝南县| 嫩江县| 常熟市| 泽州县| 许昌市| 秭归县| 宁安市| 武清区| 海原县| 婺源县| 贡山| 桦甸市| 云龙县| 金川县| 金华市| 德钦县| 满洲里市| 增城市|