字典腳本和MD5爆破腳本


最近在弄簡歷加分項,所以把以前寫過的,都在往博客搬。難頂。

這個腳本,是我以前發現學校密碼漏洞的時候,寫的。

密碼字典:

比如我這一級的密碼,就是身份證后八位,下一級,下下一級,密碼雖然有變化,但是也還是可以在這基礎上改。

#生成0-10000000之間的所有數據集,字符串長度為8,用0填充
list = [0,1000000,2000000,3000000,
        4000000,5000000,6000000,
        7000000,8000000,9000000,10000000]
for i in range(10):
    a = "{0:02d}".format(i)#生成字符串00,01,...,10
    l_str = str(a) + '000000'#左邊字符串為00000000,01000000,...,10000000
    r_str = str(a) + '999999'#右邊字符串為00999999,01999999,...,19999999
    filename = 'passwords'+'('+l_str+'-'+r_str+')'+'.txt'#文件名passwords(00000000-00999999)
    with open('E:/密碼學/sise_passwords/'+filename,'w') as file_to_read:#創建txt文件放在“E:/密碼學/sise_passwords/”的目錄下
        if i <= 9:#列表長度是10,下標從0開始,到9結束
            for j in range(list[i],list[i+1]):#循環控制數據輸入
                a = "{0:08d}".format(j)#字符串長度為8,不足的用0填充
                file_to_read.write(a)#數據寫入txt文檔中
                file_to_read.write('\n')#每輸出一個數據到txt中,就換行一次
file_to_read.close()#關閉

 MD5爆破

import os
import hashlib
values=input("密文是:")#MD5密文
with open('E:/密碼學/sise_passwords/passwords(08000000-08999999).txt', 'r') as file_to_read:#打開字典文本
    while True:
        line = file_to_read.readline()#讀取文本每一行數據
        if not line:#判斷讀取的每行數據是否為空
            break
        passwords = line.strip('\n')#刪除換行符
        key=hashlib.md5()
        key.update(passwords.encode('utf-8'))
        md5_test = key.hexdigest()
        if md5_test == values:
            print("明文是:"+line)

大一下學期期末的時候寫的,大佬勿噴。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM