zoukankan      html  css  js  c++  java
  • 字典脚本和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('
    ')#每输出一个数据到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('
    ')#删除换行符
            key=hashlib.md5()
            key.update(passwords.encode('utf-8'))
            md5_test = key.hexdigest()
            if md5_test == values:
                print("明文是:"+line)

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

    网安小菜鸡
  • 相关阅读:
    小黄衫获奖感言
    原型设计
    20210326编程作业
    阅读任务
    准备工作
    cmd命令行批量修改文件名后缀
    【智能算法】模拟退火算法
    【智能算法】粒子群寻优算法
    【并行计算】基于OpenMP的并行编程
    Python科学计算——前期准备
  • 原文地址:https://www.cnblogs.com/jdr-gbl/p/13178967.html
Copyright © 2011-2022 走看看