—
MD5功能
MD5算法对任意长度的消息输入,产生一个128位(16字节)的哈希结构输出。在处理过程中,以512位输入数据块为单位。
—
MD5用途及特征
MD5通常应用在以下场景:
1、防篡改,保障文件传输可靠性
如SVN中对文件的控制;文件下载过程中,网站提供MD5值供下载后判断文件是否被篡改;BT中对文件块进行校验的功能。
2、增强密码保存的安全性。
例如
—
MD5算法过程
网络中很容易找到MD5算法的相关实现代码,这里就不列出了。我们只需要关心它的实现框架即可。
第一步:消息填充
补长到512的倍数
最后64位为消息长度(填充前的长度)的低64位
一定要补长(64+1~512),内容为100…0(如若消息长448,则填充512+64)
第二步
—
MD5安全性
MD5虽然被广泛应用,但仍存在弱点,可以被加以破解,
—
MD5工具
进行MD5的计算,有很多工具可供使用,如本公众号之前的文章《Fiddler使用技巧:强大的数据文本编解码功能》介绍的Fiddler的TextWizard功能,还有各种可以计算文件MD5值的工具。
在网上有许多在线的MD5计算网站,如chinaz的http://tool.chinaz.com/tools/md5.aspx
在MD5的逆向工具方面,也有不少网站提供MD5值的查询,可以根据MD5值反查字符串,这些网站,收集了大量字符串的MD5值,在根据密码的MD5查询字符串时很有用。
如国内的:
http://www.cmd5.com/
http://www.xmd5.org/
国外的:
https://md5online.org/
http://md5decrypt.net/
在一个网站查询不到结果时,多试几个网站,另外,根据使用经验,国外的几个网站查询效果比国内的好。
对MD5的爆破有心得体会,请联系我分享。
长按进行关注。