1 /* See md5.c for explanation and copyright information. */
6 /* Unlike previous versions of this code, uint32 need not be exactly
7 32 bits, merely 32 bits or more. Choosing a data type which is 32
8 bits instead of 64 is not important; speed is considerably more
9 important. ANSI guarantees that "unsigned long" will be big enough,
10 and always using it seems to have few disadvantages. */
11 typedef unsigned long mk_uint32;
13 struct mk_MD5Context {
19 void mk_MD5Init (struct mk_MD5Context *context);
20 void mk_MD5Update (struct mk_MD5Context *context,
21 unsigned char const *buf, unsigned len);
22 void mk_MD5Final (unsigned char digest[16],
23 struct mk_MD5Context *context);
24 void mk_MD5Transform (mk_uint32 buf[4], const unsigned char in[64]);
25 int mk_MD5File(char *filename, unsigned char digest[16]);
27 char *base64_dump(unsigned char *buf, size_t buf_size);
28 unsigned char *base64_parse(unsigned char *buf, size_t buf_size);
29 char *hex_dump(unsigned char *buf, size_t buf_size);
30 unsigned char *hex_parse(unsigned char *buf, size_t buf_size);