摘要

鉴于网上的各大MD5爆破网站,当网络差时访问速度慢,至此小弟写了个基于python的MD5爆破脚本,欢迎各位师傅在评论区留下您们宝贵的意见。


开发思路

1、通过 string模块 自动生成字典;

2、使用permutations()函数,对字典进行全排列;

3、使用 md5模块 对全排列的字典进行转换;

4、使用了多线程,分别对5~18位字符串进行md5碰撞,以防止时间太长(虽然现在也要很久)。


md5碰撞函数

 1     def md5_poj(self, md5_value, k):
2 if len(md5_value) != 32:
3 print("error")
4 return
5 md5_value = md5_value.lower()
6 # permutations() 全排列
7 for item in permutations(all_letters, k):
8 item = "".join(item)
9 if md5(item.encode()).hexdigest() == md5_value:
10 print('\n success: ' + md5_value + ' ==> ' + item)
11 self.__mdfive = 1

其中 if len(md5_value) != 32 判断所输入的md5是否为32位的


主函数

 1     def main(self):
2 NT_md5 = input("请填写MD5:")
3 start_time = time()
4 t_list = []
5 print("正在查询...")
6 # 添加线程
7 t_first = threading.Thread(target=self.md5_first, args=(NT_md5,))
8 t_first.daemon = 1
9 t_first.start()
10 for k in range(5, 18):
11 t = Process(target=self.md5_poj, args=(NT_md5, k))
12 # t = threading.Thread(target=self.md5_poj, args=(NT_md5, k))
13 t.daemon = 1 # 守护程序
14 t_list.append(t)
15 # 启动所有线程
16 for i in t_list:
17 i.start()
18 # 当 __mdfive == 1 时结束所有线程
19 while 1:
20 if self.__mdfive:
21 break
22 print("\n查询结束!")
23 print('使用了 %f 秒'%(time() - start_time))

源码我放在github上了,可以点击右上角进入

备注

如需转载,请联系作者:spmonkey,联系方式可通过博客园的联系,亦可发至作者邮箱:spm0nkey@163.com

基于python的MD5脚本的更多相关文章

  1. 基于Python的AT命令测试脚本

    对于各种有线&无线调制解调器(modem)产品来说,AT命令是事实上的标准接口之一,在工业界被广泛使用. 我开发了一套基于Python的AT命令测试脚本,源代码可在github上获取: htt ...

  2. 基于python深度学习的apk风险预测脚本

    基于python深度学习的apk风险预测脚本 为了有效判断安卓apk有无恶意操作,利用python脚本,通过解包apk文件,对其中xml文件进行特征提取,通过机器学习构建模型,预测位置的apk包是否有 ...

  3. 一行导出所有任意微软SQL server数据脚本-基于Python的微软官方mssql-scripter工具使用全讲解

    文章标题: 一行导出所有任意微软SQL serer数据脚本-基于Python的微软官方mssql-scripter工具使用全讲解 关键字 : mssql-scripter,SQL Server 文章分 ...

  4. 关于《selenium2自动测试实战--基于Python语言》

    关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...

  5. 从Theano到Lasagne:基于Python的深度学习的框架和库

    从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...

  6. 「python」: arp脚本的两种方法

    「python」: arp脚本的两种方法 第一种是使用arping工具: #!/usr/bin/env python import subprocess import sys import re de ...

  7. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)

    目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构   前言 学习Python也有一个半月时间了,学到现在感觉 ...

  8. Android Native App自动化测试实战讲解(上)(基于python)

    1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动 ...

  9. 基于Python的Web应用开发实践总结

    基于Python的Web应用开发学习总结 项目地址   本次学习采用的是Flask框架.根据教程开发个人博客系统.博客界面如图所示. 整个学习过程收获很多,以下是学习总结. 1.virtualenv ...

随机推荐

  1. 最佳实践 | 疫情之下,了解 eolink 如何助力远程办公!

    新冠疫情肆虐,eolink 结合自身长期的远程研发协作经验,为企业推出 API 管理远程协作指南,以下方案不仅在 Eolinker 内部,也在众多客户中得到验证,希望能够帮助您快速了解如何将 API ...

  2. 题解【CodeForces 910A The Way to Home】

    题目大意 一只青蛙现在在一个数轴上,它现在要从点 \(1\) 跳到点 \(n\) ,它每次可以向右跳不超过 \(d\) 个单位.比如,它可以从点 \(x\) 跳到点 \(x+a\)(\(1\le a\ ...

  3. git diff与linux diff的输出格式之unified format

    前言 前面有一篇文章<一个有些意思的项目--文件夹对比工具(一)>,里面简单讲了下diff算法之--Myers算法. 既然是算法,就会有实现,比如git diff中有Myers的实现,gi ...

  4. Fishhole类定义和实现

    当眼睛处于水中,产生类似的鱼眼视角,fov永远是psi_max的2倍.具体算法参考书籍. 类声明: #pragma once #ifndef __FISHHOLE_HEADER__ #define _ ...

  5. 开源风吹动开源心 ~ 8月16日,你若来,我们(Apache)在等你!

    点击上方蓝字关注ALC Beijing 抢! 太好看了吧! 买它,就是它,买它! 要抢! ALC是Apache Local Community的缩写,是全世界范围的 Apache 开源爱好者本地群组. ...

  6. vscode 源代码不能自动stage change

    前言 vscode的强大不用赘述了,当你开始使用自然就会爱上他.围绕着IDE的编写体验,有很多强大的自带或者第三方插件,可以做到,编码,git管理,甚至部署一条龙[我司就有这样的插件],让大家沉迷其中 ...

  7. Java学习--基础

    java学习 基础 Java三大版本 javase 标准版 占领桌面端(基础) javame 移动版 嵌入式开发.占领手机端 javaee 企业版 占领服务器端 Java的特性和优势 跨平台.可移植性 ...

  8. 一个监控工具monit

    最近看了一个问题,monit监控在读取配置文件之后,访问的文件是残留在容器中的,导致认为服务异常,其实一开始容器启动,并没有对应的服务. [root@10-36-235-119.fin-wealth- ...

  9. Spring源码-xml解析

    Spring使用SAX解析xml.SAX的全称是Simple APIs for XML,也即XML简单应用程序接口.与DOM不同,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式. ...

  10. 获取Windows正在运行的窗口进程

    主要是获取Alt+Tab中展示的窗口 原理主要是获取窗口的样式来判断是否会在Alt+Tab中显示 具体代码如下 /// <summary> /// Alt+Tab 应用 /// </ ...