MD5¶
基本描述¶
MD5的输入输出如下
- 输入:任意长的消息,512比特长的分组。
- 输出:128比特的消息摘要。
关于详细的介绍,请自行搜索。
此外,有时候我们获得到的md5是16位的,其实那16位是32位md5的长度,是从32位md5值来的。是将32位md5去掉前八位,去掉后八位得到的。
一般来说,我们可以通过函数的初始化来判断是不是MD5函数。一般来说,如果一个函数有如下四个初始化的变量,可以猜测该函数为MD5函数,因为这是MD5函数的初始化IV。
0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476
破解¶
目前可以说md5已经基本被攻破了,一般的MD5的碰撞都可以在如下网上获取到
- http://www.cmd5.com/
- http://www.ttmd5.com/
- http://pmd5.com/
- https://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip (生成指定前缀的md5碰撞)
题目¶
- CFF 2016 好多盐
- JarvisOJ 好多盐