这个是穷举法:

# -*- coding: utf-8 -*-
import string
import hashlib
file=open("hello.txt","a")
md5input=raw_input("请输入md5:\n")
md5input=md5input.lower()
apt=string.printable[:-6]
def dfs(s,num):m=hashlib.md5()m.update(s)md5temp=m.hexdigest()if md5temp==md5input:file.write("md5是:"+md5input+"    明文是:"+s+"\n")file.close()exit(-1)if len(s)==num:returnfor i in apt:dfs(s+i,num)myinput=10               #生成字符的位数
for j in range(1,myinput):dfs("",j)
file.close()

下面是查询一些公开的网站的md5的结果:

# -*- coding: utf-8 -*-
import urllib2
import urllib
import json
import sys
from HTMLParser import HTMLParser
from htmlentitydefs import entitydefs
reload(sys)
sys.setdefaultencoding('utf-8')class titlehtml(HTMLParser):def __init__(self):self.title=[]self.readingtitle=''self.myfilter=''HTMLParser.__init__(self)def handle_starttag(self, tag, attrs):if tag==self.myfilter:self.readingtitle=1def handle_data(self, data):if self.readingtitle:self.title.append(data)def handle_endtag(self, tag):if tag==self.myfilter:self.readingtitle=0def gettile(self):return self.titleclass MyHTMLParser(HTMLParser):def __init__(self):HTMLParser.__init__(self)self.inputvalue = {}def handle_starttag(self, tag, attrs):#print "Encountered the beginning of a %s tag" % tagif tag == "input":if len(attrs) == 0: passelse:for (variable, value)  in attrs:if variable=="name":self.inputvalue.setdefault(value,'')myname=valueif variable == "value":self.inputvalue[myname]=valuedef httpget(geturl,getdata,Referer):urldata=urllib.quote(getdata)url=geturl+urldataheaders={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1","Referer":Referer}req = urllib2.Request(url,headers=headers)resul=urllib2.urlopen(req).read()return resuldef httppost(geturl,getdata,Refererdata):data=getdataurl=geturlpost_data=urllib.urlencode(data)headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1","Referer":Refererdata}req=urllib2.Request(url,headers=headers,data=post_data)resul=urllib2.urlopen(req).read()return resuldef somd5(md5):url="http://www.somd5.com/somd5-index-md5.html"data={}data["isajax"]="2d6GbG7ktvGRzxJacdeI7pt"data["md5"]=md5str=httppost(url,data,"")newsparser = titlehtml()newsparser.myfilter='h1'newsparser.feed(str)items = newsparser.gettile()if len(items)==0:print "somd5没有查到"else:print "somd5查到的:"+items[0]def cmd5(md5):data=""res=httpget("http://www.cmd5.com/",data,"")viewstaut=MyHTMLParser()viewstaut.feed(res)post_data=viewstaut.inputvaluepost_data["ctl00$ContentPlaceHolder1$TextBoxInput"]=md5post_data["__EVENTTARGET"]=""post_data["ctl00$ContentPlaceHolder1$InputHashType"]="md5"post_data["ctl00$ContentPlaceHolder1$HiddenField1"]="0"finres=httppost("http://www.cmd5.com/",post_data,"http://www.cmd5.com/")newsparser = titlehtml()newsparser.myfilter='span'newsparser.feed(finres)items = newsparser.gettile()if len(items)==0:print "cmd5没有查到"else:print "cmd5查到的:"+items[3]def hkc5(md5):url="http://md5.hkc5.com//index.asp?action=look"data={}data["look"]="查询"data["md5text"]=md5str=httppost(url,data,"http://md5.hkc5.com/index.asp")finres=MyHTMLParser()finres.feed(str)mingwen=finres.inputvaluetry:print "hkc5查到的:"+mingwen["rr2"]except:print "hkc5没有查到"def xx95(md5):data=""res=httpget("http://md5.xx95.net/default.html",data,"")viewstaut=MyHTMLParser()viewstaut.feed(res)post_data=viewstaut.inputvaluefor key,value in post_data.items():if post_data[key]=="\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5MD5\xe6\x88\x96\xe8\xa6\x81\xe5\x8a\xa0\xe5\xaf\x86\xe7\x9a\x84\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2":post_data[key]=md5finres=httppost("http://md5.tellyou.top/default.html",post_data,"http://md5.tellyou.top/default.html")newsparser = titlehtml()newsparser.myfilter='span'newsparser.feed(finres)items = newsparser.gettile()try:print "md5.tellyou的md5查询结果:"+items[0]except:print "md5.tellyou的md5查询结果:没找到,请尝试其他同类网站"def syue(md5):finstr=httpget("http://md5.syue.com/ShowMD5Info.asp?GetType=ShowInfo&md5_str=",md5,"http://md5.syue.com/")newsparser = titlehtml()newsparser.myfilter='span'newsparser.feed(finstr)items = newsparser.gettile()try:print "md5.syue的md5查询结果(乱码证明没有查到):"+items[0]except:print "md5.syue没有查到"def pmd5(md5):data=""res=httpget("http://pmd5.com/",data,"")viewstaut=MyHTMLParser()viewstaut.feed(res)post_data=viewstaut.inputvaluepost_data["key"]=md5finres=httppost("http://pmd5.com/",post_data,"http://pmd5.com/")newsparser = titlehtml()newsparser.myfilter='em'newsparser.feed(finres)items = newsparser.gettile()try:print "pmd5的md5查找结果:"+items[1]except:print "pmd5没有找到"def wmd5(md5):url="http://www.wmd5.com/ajax.php"data={}data["miwen"]=md5data["action"]="md5show"finstr=httppost(url,data,"http://www.wmd5.com/")d1=json.JSONDecoder().decode(finstr)try:print "wmd5查询的结果是:"+d1['md5text']except:print "wmd5没有查到"def heimd5(md5):url="http://121.42.198.24//php/md5.php"data={}data["key"]=md5finstr=httppost(url,data,"http://121.42.198.24/php/md5.php")print "121.42.198.24的结果是:"+finstr
#def xmd5(md5):if __name__=='__main__':md5=sys.argv[1]#print md5#md5="d8b521d9c8591a897704b83d18ec988d"somd5(md5)hkc5(md5)xx95(md5)syue(md5)pmd5(md5)wmd5(md5)heimd5(md5)cmd5(md5)

破解md5的python代码,持续更新相关推荐

  1. Android开发人员不得不收集的代码(持续更新中)(http://www.jianshu.com/p/72494773aace,原链接)

    Android开发人员不得不收集的代码(持续更新中) Blankj 关注 2016.07.31 04:22* 字数 370 阅读 102644评论 479喜欢 3033赞赏 14 utilcode D ...

  2. Matlab常用代码---持续更新

    Matlab中的一些常用代码---持续更新 1. 获取当前的工作目录路径:添加文件夹到工作路径 2. 获取某个.m文件的绝对路径 3. 使用随机颜色进行可视化 1. 获取当前的工作目录路径:添加文件夹 ...

  3. C语言图形函数代码~持续更新中

    下面总结的是一些C语言图形函数代码~持续更新中 画三类圆 #include#include#include#include#includeint main(void) { initgraph(640, ...

  4. 力扣牛客每日刷题(Python解法持续更新)

    力扣牛客每日刷题(持续更新) 初试结束第15天, 之前简单的处理了部分毕设方面的任务, 对接下来的学习做了个简单的规划 决定每天开始刷几道力扣题提高一下算法的理解,不能让之前学的数据结构都忘记了 每道 ...

  5. python基础(持续更新)

    本文参考 廖雪峰Python教程 https://www.python-course.eu/python3_variables.php python基础教程 https://docs.python.o ...

  6. 青魔法Python(持续更新)

    *跳转到文章结尾* https://www.cnblogs.com/Asterism-2012/p/10047356.html 目录 注释的学问 青魔法Python-圣诞快乐 python源于圣诞节, ...

  7. 维吉尼亚密码的破解算法及python代码实现

    目录 1. 密文描述 1.1 密文1 1.2 密文2 2. 破解原理 2.1 重合指数法确定密钥长度 2.2 互重合指数确定子串间相对偏移 2.3 密钥字的确定 2.4 密文破解 3. 破解代码 参考 ...

  8. “破解”WiFi密码——Python代码

    首先声明:这个方法不能轻轻松松破译邻居的WiFi密码(除非他的密码很简单). 代码工作原理大概就是,你把所有你能想到的密码汇集到一个库里,然后通过计算机代替你来一个个试,试中了就是"破解&q ...

  9. 图形解锁验证码破解(附Python代码)

    前言: 爬虫开源死得快,新浪微博又改策略了.在去年的这个时候,微博还是没什么限制的.2016年12月我将新浪微博爬虫的代码作了一次更新,并将文章转到了知乎,爬微博的人似乎从那个时候开始多了许多.也许是 ...

最新文章

  1. 产品与技术优势发威 用友U9截击SAP ORACLE
  2. 写一个android图表框架1
  3. 关于ORA-06508 , ORA-04068异常的详细说明
  4. linux配置adb环境变量配置,Ubuntu下adb环境配置
  5. 成都python培训比较好的机构-成都Python培训班哪个好,怎样才能不走弯路学习
  6. HLS视频协议第一弹--centos下面配置ffmpeg,segmenter以适应hls切片需要
  7. mysql百万级分页优化
  8. oracle spa sta 使用,Oracle的SQL Tuning Advisor(STA) 到底做了什么?
  9. 记录webpack的source map使用详细说明
  10. Mybatis逆向工程的pojo实现序列化接口的代码
  11. Json Schema快速入门
  12. 性能监控工具javamelody与spring的集成
  13. jQuery 和 YUI (Yahoo User Interface) 各自的优缺点有哪些?具体的使用场景是怎样的?...
  14. APIView和View的区别
  15. 零基础搭建双端影视盒子——一、搭建运行环境
  16. 小米手机的专用计算机连接软件,小米手机怎么连接电脑?这些方法值得收藏!...
  17. IOS AES加密/解密
  18. 订阅号服务器消息推送数量,微信服务号一个月4次的推文次数用完了,怎么增加推送数量?...
  19. ValueError: Cannot have number of splits n_splits=3 greater than the number of samples: 1
  20. 调用钉钉API发送消息通知给个人或部门 ,钉钉后台

热门文章

  1. 基于Opencv实现连续检测yuv转bmp后的每一帧的sobel算法实现
  2. 方舟端游进服务器无限闪退,【求助】方舟一进服务器 过一会儿 闪退 弹白框求解...
  3. cannot be cast to linux 环境,[Redis] ** cannot be cast to java.lang.String
  4. Oracle dd-m月-yy转yyyy-mm-dd
  5. C++程序设计课程主页-2012级
  6. 上传图片错误提示:error=3,原因及解决方法
  7. RStudio中R notebook的使用
  8. mysql查找各科分数相同的学生_mysql中 查询各科成绩都在80以上的学生的姓名
  9. 一位大学老师写给大学新生的100条肺腑之言
  10. UUess网络电视2007,UUESE免费下载,最新版UUESS官方免费下载 - uuess.org.cn