能力值:
( LV2,RANK:10 )
|
-
-
2 楼
http://www.faqs.org/rfcs/rfc1321.html
最后几行
A.5 Test suite
The MD5 test suite (driver option "-x") should print the following
results:
MD5 test suite:
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("123456789012345678901234567890123456789012345678901234567890123456
78901234567890") = 57edf4a22be3c955ac49da2e2107b67a
|
能力值:
( LV12,RANK:2670 )
|
-
-
3 楼
最初由 arryang 发布 实现了一下md5,对字符串实现没有问题,和测试向量吻合 但当对一个文件进行md5计算的时,我计算的出来的结果hash03(看雪上的一个工具)计算出来的不一样,我感觉我的没有问题啊 我的做法是: 将文件读入一个字符串中,然后计算,怎么就会不一样呢?哪位有测试向量(文件),发布一下,非常感激 自编的一个小工具,用于查寻字符与MD5密钥之间转换的。
MD5finder.rar
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
楼上的二位,我说的不是这个问题,这些测试向量我都能通过,我说
对一个文件进行hash计算,我计算的结果何别人的结果不一样啊,
我的代码大致如下:
FILE *fp;
if((fp = fopen(szfilename, "rb") == NULL) return false;
int len = filelength(fileno(fp);
unsigned char * pBuf =unsignede char[len];
fread(pBuf,.., fp);
....
MD5_Uadate(&context, pBuf, len);
...
请问,对文件这样计算md5为什么有问题?高手指教
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
看雪的主页出问题了?
楼主说的那个工具我没法下。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
unsigned char[len];
这样是不是少了一位呢?len+1才对。
而且动态内存分配应该用malloc吧?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
WinXP的NOTEPAD.EXE(5.1.2600.2180)
CA94F7297B444AB655CD4B7793C02FD3
Win98的NOTEPAD.EXE(4.10.1998)
FE74E6D1161E03E10306C256A461B71A
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
FILE *fp;
if((fp = fopen(szfilename, "rb") == NULL) return false;
int len = filelength(fileno(fp);
unsigned char * pBuf =(unsigned char *)malloc(len);
fread(pBuf,.., fp);
md5(pBuf,len);
free(pBuf);
|
|
|