OLD | NEW |
1 /* | 1 /* |
2 * This code implements the MD5 message-digest algorithm. | 2 * This code implements the MD5 message-digest algorithm. |
3 * The algorithm is due to Ron Rivest. This code was | 3 * The algorithm is due to Ron Rivest. This code was |
4 * written by Colin Plumb in 1993, no copyright is claimed. | 4 * written by Colin Plumb in 1993, no copyright is claimed. |
5 * This code is in the public domain; do with it what you wish. | 5 * This code is in the public domain; do with it what you wish. |
6 * | 6 * |
7 * Equivalent code is available from RSA Data Security, Inc. | 7 * Equivalent code is available from RSA Data Security, Inc. |
8 * This code has been tested against that, and is equivalent, | 8 * This code has been tested against that, and is equivalent, |
9 * except that you don't need to include two pages of legalese | 9 * except that you don't need to include two pages of legalese |
10 * with every copy. | 10 * with every copy. |
(...skipping 11 matching lines...) Expand all Loading... |
22 that code, there is no copyright issue. I hereby disclaim | 22 that code, there is no copyright issue. I hereby disclaim |
23 copyright in any changes I have made; this code remains in the | 23 copyright in any changes I have made; this code remains in the |
24 public domain. */ | 24 public domain. */ |
25 | 25 |
26 /* Note regarding cvs_* namespace: this avoids potential conflicts | 26 /* Note regarding cvs_* namespace: this avoids potential conflicts |
27 with libraries such as some versions of Kerberos. No particular | 27 with libraries such as some versions of Kerberos. No particular |
28 need to worry about whether the system supplies an MD5 library, as | 28 need to worry about whether the system supplies an MD5 library, as |
29 this file is only about 3k of object code. */ | 29 this file is only about 3k of object code. */ |
30 | 30 |
31 #include <util.h> | 31 #include <util.h> |
32 /*@unused@*/ RCSID("$Id: md5.c 1825 2007-04-22 03:32:46Z peter $"); | |
33 | 32 |
34 #include "md5.h" | 33 #include "md5.h" |
35 | 34 |
36 /* Little-endian byte-swapping routines. Note that these do not | 35 /* Little-endian byte-swapping routines. Note that these do not |
37 depend on the size of datatypes such as cvs_uint32, nor do they require | 36 depend on the size of datatypes such as cvs_uint32, nor do they require |
38 us to detect the endianness of the machine we are running on. It | 37 us to detect the endianness of the machine we are running on. It |
39 is possible they should be macros for speed, but I would be | 38 is possible they should be macros for speed, but I would be |
40 surprised if they were a performance bottleneck for MD5. */ | 39 surprised if they were a performance bottleneck for MD5. */ |
41 | 40 |
42 static unsigned long | 41 static unsigned long |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 yasm_md5_final (checksum, &context); | 300 yasm_md5_final (checksum, &context); |
302 for (i = 0; i < 16; i++) | 301 for (i = 0; i < 16; i++) |
303 { | 302 { |
304 printf ("%02x", (unsigned int) checksum[i]); | 303 printf ("%02x", (unsigned int) checksum[i]); |
305 } | 304 } |
306 printf ("\n"); | 305 printf ("\n"); |
307 } | 306 } |
308 return 0; | 307 return 0; |
309 } | 308 } |
310 #endif /* TEST */ | 309 #endif /* TEST */ |
OLD | NEW |