diff options
Diffstat (limited to 'src/md5.h')
-rw-r--r-- | src/md5.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/md5.h b/src/md5.h new file mode 100644 index 0000000..3ebeb36 --- /dev/null +++ b/src/md5.h | |||
@@ -0,0 +1,47 @@ | |||
1 | /* | ||
2 | * This is the header file for the MD5 message-digest algorithm. | ||
3 | * The algorithm is due to Ron Rivest. This code was | ||
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. | ||
6 | * | ||
7 | * Equivalent code is available from RSA Data Security, Inc. | ||
8 | * This code has been tested against that, and is equivalent, | ||
9 | * except that you don't need to include two pages of legalese | ||
10 | * with every copy. | ||
11 | * | ||
12 | * To compute the message digest of a chunk of bytes, declare an | ||
13 | * MD5Context structure, pass it to MD5Init, call MD5Update as | ||
14 | * needed on buffers full of bytes, and then call MD5Final, which | ||
15 | * will fill a supplied 16-byte array with the digest. | ||
16 | * | ||
17 | * Changed so as no longer to depend on Colin Plumb's `usual.h' | ||
18 | * header definitions; now uses stuff from dpkg's config.h | ||
19 | * - Ian Jackson <ian@chiark.greenend.org.uk>. | ||
20 | * Still in the public domain. | ||
21 | */ | ||
22 | |||
23 | #ifndef MD5_H | ||
24 | #define MD5_H | ||
25 | |||
26 | #ifdef _MSC_VER | ||
27 | #define WIN32_LEAN_AND_MEAN | ||
28 | #include <windows.h> | ||
29 | #define UWORD32 DWORD | ||
30 | #else | ||
31 | #include <inttypes.h> | ||
32 | #define UWORD32 uint32_t | ||
33 | #endif | ||
34 | #define md5byte unsigned char | ||
35 | |||
36 | struct MD5Context { | ||
37 | UWORD32 buf[4]; | ||
38 | UWORD32 bytes[2]; | ||
39 | UWORD32 in[16]; | ||
40 | }; | ||
41 | |||
42 | void MD5Init(struct MD5Context *context); | ||
43 | void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len); | ||
44 | void MD5Final(unsigned char digest[16], struct MD5Context *context); | ||
45 | void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); | ||
46 | |||
47 | #endif /* !MD5_H */ | ||