/[projects]/misc/md5/md5.c
ViewVC logotype

Annotation of /misc/md5/md5.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (hide annotations) (download)
Wed Sep 16 20:13:41 2009 UTC (14 years, 8 months ago) by torben
File MIME type: text/plain
File size: 859 byte(s)
Added some old code for storage/ reference


1 torben 328 /*
2     * md5.c by Torben Nielsen
3     *
4     */
5    
6     #include <stdlib.h>
7     #include <stdio.h>
8     #include <openssl/md5.h>
9    
10     int main(int argc, char *argv[])
11     {
12     FILE *file;
13     unsigned char *output;
14     unsigned char *buf;
15     int num;
16     int size;
17     int i;
18     MD5_CTX *md5struct;
19    
20     size = sizeof(unsigned char);
21    
22     if (argc != 2)
23     {
24     printf("Usage: md5 <file>\n");
25     return 1;
26     }
27    
28     file = fopen(argv[1],"r");
29    
30     if (file == 0)
31     {
32     printf("Could not open %s\n", argv[1]);
33     return 2;
34     }
35    
36     md5struct = malloc( sizeof(MD5_CTX) );
37     MD5_Init(md5struct);
38    
39     buf = malloc( size * 128);
40     while (!feof(file))
41     {
42     num = fread(buf, size, 128, file);
43     MD5_Update(md5struct, buf, num*size) ;
44     }
45     fclose(file);
46    
47     output = malloc( size * 16);
48    
49     MD5_Final(output, md5struct);
50    
51     for (i=0;i<16;i++)
52     {
53     printf("%02x",output[i]);
54     }
55     printf(" %s\n", argv[1]);
56    
57     free(md5struct);
58     free(output);
59    
60     return 0;
61     }

  ViewVC Help
Powered by ViewVC 1.1.20