1 /* MD5SUM.C - Sum MD5 file - 12/04/2011
2 This program is derived from the RSA Data Security,
3 Inc. MD5 Message-Digest Algorithm. */
4
5 #include "md5.h"
6 #include <stdio.h>
7 #include <windows.h>
8
9 int main (int argc, char *argv[])
10 {
11 FILE *file;
12 MD5_CTX context;
13 UINT32 i, len;
14 UCHAR buffer[MD5_BUFFER], digest[17], *d = digest;
15
16 for (i = 1; i < (UINT32) argc; i++)
17 {
18 if (! (file = fopen (argv[i], "rb")))
19 {
20 printf ("\"%s\" Error: can't be opened.\n", argv[i]);
21 return 1;
22 }
23 MD5Init (&context);
24 while ( (len = fread (buffer, 1, MD5_BUFFER, file)))
25 MD5Update (&context, buffer, len);
26 MD5Final (digest, &context);
27 fclose (file);
28
29 CharToOem (argv[i], argv[i]);
30 digest[16] = '\0';
31 strrev ( (char *) digest);
32 /* printf ("\"%s\" %016I64x%016I64x\n", argv[i], U64 (d, 8 ), U64 (d, 0)); */
33 printf ("\"%s\" %08x%08x%08x%08x\n", argv[i], U32 (d, 12), U32 (d, 8), U32 (d, 4), U32 (d, 0));
34 }
35 return 0;
36 } /* main */