1. #!/usr/bin/env python
    2. # -*- coding: UTF-8 -*-
    3. '''
    4. 快速查询md5值工具,通过模拟浏览器发包请求http://cmd5.com和
    5. http://xmd5.org两个网站进行在线查询。
    6. By Terry
    7. '''
    8. import urllib
    9. import urllib2
    10. import re
    11. import sys
    12. def xmd5(hash_str):
    13. #
    14. #http://xmd5.org以GET方式提交请求,模拟浏览器发送GET请求包。
    15. #
    16. xmd_url = 'http://www.xmd5.org/md5/search.asp?hash='+hash_str
    17. xmd_request = urllib2.Request(xmd_url)
    18. xmd_request.add_header("Connection", "keep-alive")
    19. xmd_request.add_header("Accept","text/xmd_html,application/xxmd_html+xml,application/xml;q=0.9,*/*;q=0.8")
    20. xmd_request.add_header("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (Kxmd_html, like Gecko) Chrome/24.0.1312.57 Safari/537.17")
    21. xmd_request.add_header("Referer", "http://www.xmd5.org/index_cn.htm")
    22. xmd_request.add_header("Accept-Encoding", "gzip,deflate,sdch")
    23. xmd_request.add_header("Accept-Language", "en-US,en;q=0.8")
    24. xmd_request.add_header("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.3")
    25. response = urllib2.urlopen(xmd_request)
    26. xmd_html = response.read()
    27. pattern = re.compile(r'<font color="red" size="4">&nbsp;Result:</font><font color="#ffffff" size="3">([wW]*)</font>')
    28. match_html = pattern.findall(xmd_html)
    29. pattern = re.compile(r'[S]*')
    30. match_key = pattern.findall(match_html[0])
    31. #for i in match_key:
    32. # print '#'+i
    33. #print match2[2]
    34. #print len(match_key[2])
    35. if len(match_key[2])==52:
    36. print u'xmd5:请确认是否是标准的MD5数据!xmd5支持16位和32位MD5数据'
    37. elif len(match_key[2])>0:
    38. print u'xmd5:恭喜,明文是>>>'+match_key[2]
    39. else:
    40. print u'xmd5:暂时还没查询到 - -|||'
    41. def cmd5(hash_str):
    42. #
    43. #http://cmd5.com网站是以POST请求发送的,模拟浏览器进行发送POST请求。
    44. #
    45. cmd5_url = 'http://cmd5.com'
    46. cmd5_data = {
    47. "__EVENTTARGET":"Button1",
    48. "__EVENTARGUMENT":"",
    49. "__VIEWSTATE":"8L1jRFsVmr/4ZHakSdlLVXaEMDhLz+4eoqPVVK0+Jbp8z3QE2vIkUVP02wy4oW+23Rk61GvhSZIi1n3m4B+hpJVmt6luda2LgVNU7SUAOYOPsy2UcCjKRS7STM00pUPadDrWvQEmQLH1UvDzkmf/oc48uiJ8sWjmmGWh0JbuUVYOdcHjVburdEvRTVT6nAVsyrBEMPbI3a3vNi3lzG/eTDrR6QBwzBw1RSXW0Szdn3tNV8SKj9qJfrzTlGuksLoDNba7qQ5txF8e2G1F9ZVS9RmeTYtbYRpCUeyDhorfMCq2klfSSfz2p8MOtb+f/RtvQV9/jknystxD4ZkqtKn7NcrEYeF1lcM4m9rOnq+tf2kdu+CcbSuXSR5ffnUGEt67fW/aijbvWiRECuYpEUPI6sPxvzRgI+LJhMaM7d3RLmAZGuCZkxs1lh+scdJ0jfM/v1Y9+g1kMf0Z7p5OOlRkG90X9uJVB7Q6SwrT85usgUduAza/NW0SCSS1uvGYeCENywnlgUihEupK7Fl1jso7WAOILLtpBdAMeo0dsl1OrwQ2WBjJq9dDRxpF7XQnNcjI0yJKgNsJkI/fB4qfgUx0lb/G1oPg/wk24rpA3XpxFpwYKO5E/7dHFqnchw9tvuchS2oA4Rni6vCs2bbViJS5sq7Mh0lh05rKIJbBhlCVhnZTG4QktDJmiUn12bVe/Uf0yC5HcX6LTH+3TPzuqgcNeKWy0FQc4R26UFEvJA7UHld9U3xDq+MjfG2WmUF/hgm6FoEhIUjm8z9rAnXPtSLJ7Cbq1EXneb+wdgW2cfTLz2h+CaVMdFpbcdvoRr+TdJZ5voX15/b57X8mInevtukDskJAD/7hS47B2kWtXjzo/H9bL2x629FkssG2xc1P/PAKMk9e0bjROdw9Mu45UYtWGO5eOSRPEGaZ0Dx0y/gMsWtqcGy8aOHcQp9YF46VuWcTIJFJrAF1a0ZSqyNBnQo4z3yhGed5BTc4Zl+hHRLbcw5IKxS4Jpah01VtNbJilewUP62XlsmpX9CLoB/D1RjHmRSm027+aVrfQ2oOpMUYKU/XrDgk4Nj+4CcXulIVFBXVFc6VdIDsi+oZPFfuhxVduMQbZSl/GgJe2dz+6q7CKJuOqhMUurZg3Rb0mkwKNG8tcSpv8MZGLKmtnuof2zeUJw7nSBLqzTTALZk9sPZe8iFuLQb+NHKHKCHz4laa9aLzovEoRtmE0j3BgBehmzb0F3eyIZ/I/+RviEBaYJcJ6q2FQAYrC7CSrmk8hVMtixCjUqUYA4vhVBX0uhv0pNaiUuHYtGlZhdtlTMfNucRkwXgqw7KU1Bl4C4ICIL07cOfjsUdNhkBTvOdzm1tTvrKpe70Sy0Da1IQRtbUxXdgLUtN4144mW9GOO33MkwOo6ZRqmMkLoZucuZcOL0UnB7pVitUQUr7eXD0B7VuLOZcUTVyUkJ6fCpKFHc/mbVXJQrGyWIyRb7lgjDBsxvfm",
    50. "ctl00$ContentPlaceHolder1$TextBoxInput":hash_str,
    51. "ctl00$ContentPlaceHolder1$InputHashType":"md5",
    52. "ctl00$ContentPlaceHolder1$Button1":"解密",
    53. "ctl00$ContentPlaceHolder1$HiddenField1":"",
    54. "ctl00$ContentPlaceHolder1$HiddenField2":"0k7/kHiRphkDzojwmW8II+N7F04M5Fv6oWRFL2JpdZR4H/dnc1JlkGaMpuAeawdZ"
    55. }
    56. cmd5_url_data = urllib.urlencode(cmd5_data)
    57. cmd5_header = {
    58. "Connection": "keep-alive",
    59. "Content-Length": str(len(cmd5_url_data)),
    60. "Cache-Control": "max-age=0",
    61. "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    62. "Origin": "http://cmd5.com",
    63. "User-Agent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)",
    64. "Content-Type": "application/x-www-form-urlencoded",
    65. "Referer": "http://cmd5.com/",
    66. "Accept-Encoding": "gzip,deflate,sdch",
    67. "Accept-Language": "en-US,en;q=0.8",
    68. "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.3"
    69. }
    70. cmd5_request = urllib2.Request(cmd5_url,cmd5_url_data,cmd5_header)
    71. cmd5_response = urllib2.urlopen(cmd5_request)
    72. cmd5_html = cmd5_response.read()
    73. #print cmd5_html
    74. pattern = re.compile(r'<span id="ctl00_ContentPlaceHolder1_LabelAnswer">([wW]*?)')
    75. match = pattern.findall(cmd5_html)
    76. #print match
    77. #print len(match[0])
    78. if len(match[0])==204:
    79. print u"cmd5:已查到,这是一条付费记录."
    80. elif len(match[0])==157:
    81. print u"cmd5:密文无法识别或无法处理,请确认密文类型是否选择正确."
    82. elif len(match[0])==184:
    83. print u"cmd5:未查到."
    84. elif len(match[0])==45:
    85. print u"cmd5:请打开网页"http://cmd5.com"输入验证码后继续."
    86. else:
    87. print u"cmd5:恭喜,明文是>>>" + match[0]
    88. if __name__ == '__main__':
    89. if len(sys.argv)>1:
    90. xmd5(sys.argv[1])
    91. cmd5(sys.argv[1])
    92. else:
    93. print(u"请传递参数,用法:\r\nmd5.py 21232f297a57a5a743894a0e4a801fc3")

MD5在线查询的实现的更多相关文章

  1. 实时分析(在线查询),firehose---clickhouse

    firehose---clickhouse 在Hive中适不适合像传统数据仓库一样利用维度建模hive新功能 Cube, Rollup介绍https://blog.csdn.net/moon_yang ...

  2. 计蒜客 38229.Distance on the tree-1.树链剖分(边权)+可持久化线段树(区间小于等于k的数的个数)+离散化+离线处理 or 2.树上第k大(主席树)+二分+离散化+在线查询 (The Preliminary Contest for ICPC China Nanchang National Invitational 南昌邀请赛网络赛)

    Distance on the tree DSM(Data Structure Master) once learned about tree when he was preparing for NO ...

  3. hihocoder Arithmetic Expression【在线查询】

    Arithmetic Expression   时间限制:2000ms 单点时限:200ms 内存限制:256MB 描述 Given N arithmetic expressions, can you ...

  4. 一些重要的地址:md5在线解密破解

    md5在线解密破解:https://www.cmd5.com/

  5. Cloudera Hadoop 4 实战课程(Hadoop 2.0、集群界面化管理、电商在线查询+日志离线分析)

    课程大纲及内容简介: 每节课约35分钟,共不下40讲 第一章(11讲) ·分布式和传统单机模式 ·Hadoop背景和工作原理 ·Mapreduce工作原理剖析 ·第二代MR--YARN原理剖析 ·Cl ...

  6. 国内国外MD5在线解密站点

    -http://www.cmd5.com/english.aspx (457,354,352,282) - http://www.md5crack.com - http://www.hashcheck ...

  7. 国内外MD5在线解密网站

    -http://www.cmd5.com/english.aspx (457,354,352,282) - http://www.md5crack.com - http://www.hashcheck ...

  8. MD5在线加密的应用

    MD5是message-digest algorithm 5(信息-摘要算法)的缩写.被广泛用于加密和解密技术上,是文件的“数字指纹”.可以对用户的密码进行加密操作,是不可逆的,所以用户输入的密码经过 ...

  9. MySQL网页端在线查询工具

    现在许多应用都移到云服务器上面了,数据库的远程维护.监控成为一大问题,通过TreeSoft数据库管理系统,可以方便的使用浏览器,通过网页操作的方式管理MySQL,Oracle,DB2,PostgreS ...

随机推荐

  1. 【LOJ】#2172. 「FJOI2016」所有公共子序列问题

    题解 听说是什么序列自动机? 我们考虑对于每个位置的串,下面拼接相同的字符时,拼接最近的一个,这样可以保证不重不漏 为了实现这个我们需要什么呢,我们需要一个链表,记录一下每个位置的下一个字符会转移到哪 ...

  2. java 反射 报错:Attempt to get java.lang.Integer field "..." with illegal data type conversion to int

    类: Integer id; 反射时: Field f = User.class.getDeclaredField("id"); f.setAccessible(true); in ...

  3. git使用注意点

    1. 如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字$ git clone git://github.com/schacon/grit.git mygrit 2. ...

  4. 转:使用python的Flask实现一个RESTful API服务器端

    提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...

  5. Kali Linux缺少ifconfig命令

    Kali Linux缺少ifconfig命令   ifconfig是配置和查看网络的基础命令.在某些Kali Linux版本中,可能会缺少ifconfig命令.这个时候,用户需要手动安装该命令.该命令 ...

  6. 创建模态提醒窗口(UIAlertView)

    UIAlertView类创建一个简单的模态提醒窗口,可能包含消息.按钮以及文本框.模态UI元素要求用户必须与之交互(通常是按下按钮)后才能做其它事情.它们通常位于其他窗口前面,在可见时禁止用户与其他任 ...

  7. FastReport.Net使用:[8]交叉表一

    1.绘制报表标题,交叉表可以直接放在标题栏内. 2.拖动一交叉表控件到标题栏内. 3.设置交叉表的行列信息. 将Tabel中的[科室名称]列拖到交叉表的列上以创建列,将Tabel中的[姓名]列拖到交叉 ...

  8. 字符约束条件的SQL注入攻击

    引言 目前值得高兴的是,开发者在建立网站时,已经开始关注安全问题了——几乎每个开发者都知道SQL注入漏洞了.在本文中,我将为读者介绍另一种与SQL数据库相关的漏洞,虽然它的危害性与SQL注入不相上下, ...

  9. [转]Android Studio开发入门-引用jar及so文件

    注意: 1.jar包在app的libs目录 2.so文件放在src/main”目录中名为“jniLibs”的目录 一.引用jar文件    1.将jar文件复制.粘贴到app的libs目录中:    ...

  10. UESTC 2015dp专题 A 男神的礼物 区间dp

    男神的礼物 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descri ...