这篇文章原来在我盘里存了好久了~    16年9月的。   这 Python的长进没多少啊。现在都17。4了

哎~~

Python之POST提交解密MD5

用易语言写出来md5解密软件后感觉一点成就感都没有。 用Python实现就是爽多了,虽说它也很简单,不然我也不会这么短时间会。

显而易见,要解密MD5首先要解决的问题就是提交md5。这就要接触Python的post了。

【首先,抓包。祭出神奇-firebug】

我们打开firebug,再打开我们的md5解密网站,然后随便输入一个md5来解密,得到他上传的表单,我们截下来改包。这是我截下来的:

__VIEWSTATE /wEPDwUKMTM4NTE3OTkzOQ9kFgJmD2QWAgIFDxYEHgVjbGFzcwULdGlwIHN1Y2Nlc3MeCWlubmVyaHRtbAWRATxpIGNsYXNzPSJpY29uZm9udCI+JiN4ZTY5MTs8L2k+PHAgY2xhc3M9ImluZm8iPuaCqOafpeivoueahOWtl+espuS4suaYr+KAnDxlbT5hYzU5MDc1Yjk2NGIwNzE1PC9lbT7igJ0s6Kej5a+G55qE57uT5p6c5Li64oCcPGVtPjEyMzwvZW0+4oCdITwvcD5kZPIZDYK0nljm9jNu3+z+aROsKjit

__VIEWSTATEGENERATOR  CA0B0334

__EVENTVALIDATION       /wEWAwLkuLOgDALigPTXCQKU9f3vAm7mreoHjgJqcpJYT7YZ4aInh4XU

key  ac59075b964b0715

jiemi       MD5解密

排列过后:

'__VIEWSTATE':'/wEPDwUKMTM4NTE3OTkzOQ9kFgJmD2QWAgIFDxYEHgVjbGFzcwULdGlwIHN1Y2Nlc3MeCWlubmVyaHRtbAWRATxpIGNsYXNzPSJpY29uZm9udCI+JiN4ZTY5MTs8L2k+PHAgY2xhc3M9ImluZm8iPuaCqOafpeivoueahOWtl+espuS4suaYr+KAnDxlbT5hYzU5MDc1Yjk2NGIwNzE1PC9lbT7igJ0s6Kej5a+G55qE57uT5p6c5Li64oCcPGVtPjEyMzwvZW0+4oCdITwvcD5kZPIZDYK0nljm9jNu3+z+aROsKjit',

'__VIEWSTATEGENERATOR':'CA0B0334',

'__EVENTVALIDATION':'/wEWAwLkuLOgDALigPTXCQKU9f3vAm7mreoHjgJqcpJYT7YZ4aInh4XU',

'key':md5,

'jiemi':'MD5解密'

不难看出这里面有五个参数,但是有用的就是‘key’这个参数。我们只要改动他就可以得到想要的效果。

【然后我们搭建一个data用来发送】

data={

'__VIEWSTATE':'/wEPDwUKMTM4NTE3OTkzOQ9kFgJmD2QWAgIFDxYEHgVjbGFzcwULdGlwIHN1Y2Nlc3MeCWlubmVyaHRtbAWRATxpIGNsYXNzPSJpY29uZm9udCI+JiN4ZTY5MTs8L2k+PHAgY2xhc3M9ImluZm8iPuaCqOafpeivoueahOWtl+espuS4suaYr+KAnDxlbT5hYzU5MDc1Yjk2NGIwNzE1PC9lbT7igJ0s6Kej5a+G55qE57uT5p6c5Li64oCcPGVtPjEyMzwvZW0+4oCdITwvcD5kZPIZDYK0nljm9jNu3+z+aROsKjit',

'__VIEWSTATEGENERATOR':'CA0B0334',

'__EVENTVALIDATION':'/wEWAwLkuLOgDALigPTXCQKU9f3vAm7mreoHjgJqcpJYT7YZ4aInh4XU',

'key':md5,

'jiemi':'MD5解密'

}

【用上节课的requests命令中的post】

a=requests.post(b,data=data) #发data的内容送到URL(b)

【正则取出我们想要的】

text1=re.findall('解密的结果为“<em>(.*?)</em>',text) #在text中取相应内容放到text1中

【然后一条一条打印(显然我们这里只可能有一条)】

因为不研究正则,这个命令的返回值意思因该就像E中的正则.取全部吧! 那个的返回值就是一个数组,在Python中叫list。 我们还是要一个一个的取出来。

【加个input然后就尽情享受快捷的md5解密体验吧!我测试有空格也是可以的,应该是因网站而异。】

Python md5解密的更多相关文章

  1. 分享一些免费的MD5解密网站

    最近下载了几个mdb文件,里面几万条md5和几千条sha512(居然还有站长用512直接放在库中的,尼玛多占空间啊),我用C#写了个工具暴 力了一小部分,大概不到3%吧, 花了我两天,电脑卡得要死,效 ...

  2. 免费MD5解密网站,轻松破解md5密码,mysql5/mysql323,ntlm,salt密码

    md5解密网站:http://cmd5.la 网站语言:php 免费指数:★★★        (8位内小写数字字母免费,11位内数字免费) 解密范围:★★★★☆ (覆盖了1-12位很多常用密码和特殊 ...

  3. md5解密猜想

    md5解密猜想 一.总结 一句话总结:可以用有技巧性(常用密码,相关信息)的暴力破解. 二.md5解密猜想 1.暴力破解 其实md5也是由那些常用的字符串组组成的32位密文,所以可以把那些常用字符串( ...

  4. golang md5加密和python md5加密比较

    python md5加密和golang md5加密各有不同,记录于此做备忘 Python 方法 md5 import base64 import hashlib def get_md5_data(bo ...

  5. 关于MD5解密网站。www.cmd5.com

    第一次听说这个网站,本人的名字居然也能够被解密,而且还是需要付费取得明文! 大家知道,md5加密是我们常用的加密方式,这个加密方式的好处在于不可逆.而且任何环境下算出的密文应该都是相同的,所以在大家登 ...

  6. python md5加密中文

    import md5 md5.new(u'中文').hexdigest() 会失败,报告ascii码不能解码0x.... 原因是md5会自动将被加密的数据转成字节码,如果没有详细制定编码,则可能采用了 ...

  7. python 加密解密

    1. 使用base64 s1 = base64.encodestring('hello world') s2 = base64.decodestring(s1) print s1, s2 结果 1 2 ...

  8. python 加密解密(base64, AES)

    1. 使用base64 s1 = base64.encodestring('hello world') s2 = base64.decodestring(s1) print s1, s2 结果 1 2 ...

  9. Python md5 sha1 的使用

    版本: Python 2.7 说明: Python 内置的 hashlib 模块中有 md5 和 sha1 加密方法,可以直接使用. md5加密 import hashlib data = 'This ...

随机推荐

  1. Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config解决

    出现这个问题往往伴随  HTTP-500错误 报错信息: HTTP Status - Handler processing failed; nested exception is java.lang. ...

  2. PHP截取中英文字符串

    //如果字符串长度超过10,则截取并以省略号结尾 function sub($str){ $str=(string)$str; if( mb_strlen($str,'utf-8') >10){ ...

  3. VisualSVN Server的配置和使用方法

    VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端 ...

  4. 如何查看dede版本信息

    dedecms版本信息 更新日期 it 分类: dedecms 打开 /include/common.inc.php 查找 $cfg_version 可以看到版本号 /打开 data/admin/ve ...

  5. myeclipse编码

    window --->perferences

  6. [one day one question] Vue单页面应用如何保证F5强刷不清空数据

    问题描述: Vue单页面用按F5强刷,数据就恢复初始了,这怎么破? 解决方案: store.subscribe((mutation, state) => { sessionStorage.set ...

  7. JQuery判断是否为空

    //有如下三种判断 var A=$("#**).val(); if(A==null||A!=undefined||A==""){ //处理 } //参考文章1说下面方法效 ...

  8. 流API--提取流+组合流

    提取子流和组合流 1,limit(n)会返回一个包含n个元素的新流,如果原始流的长度小于n,则会返回原始的流.这个方法可用来裁剪指定长度的流. 2,skip(n)正好相反,它会丢弃掉前面的n个元素. ...

  9. AQS 框架之 LockSupport 线程阻塞工具类

    ■ 前言 并发包一直是 JDK 里面比较难理解的,同时也是很精美的语言,膜拜下 Doug Li 大神.作者不敢长篇大论,只求循序渐进地把并发包通过理论和实战 (代码) 的方式介绍给大家. 其实做每一件 ...

  10. pulltorefresh 设置刷新文字提示颜色

     xmlns:ptr="http://schemas.android.com/apk/res-auto" 赵泽民 2016/7/12 15:48:58 ptr:ptrHeaderS ...