去B站咯

字典脚本和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)

大一下学期期末的时候写的,大佬勿喷。

posted @ 2020-06-22 20:31  不想长大a  阅读(1160)  评论(0编辑  收藏  举报