- 审题
首先来看题目:
看到了题目里的“MD5 hash collision”,意思是MD5哈希碰撞,作为一个学过密码学的人,还有点小激动,毕竟是我接触过的东西,可以不用查概念了。
跟上道题一样,先连上服务器再说:
可以看到,还是只有三个文件,那么就继续从C语言文件下手,代码如下:
#include <stdio.h>
#include <string.h>
unsigned long hashcode = 0x21DD09EC;
unsigned long check_password(const char* p){
int* ip = (int*)p;
int i;
int res=0;
for(i=0; i<5; i++){
res += ip[i];
}
return res;
}
int main(int argc, char* argv[]){
if(argc<2){
printf("usage : %s [passcode]\n", a