f77e141b76876e9205903dc330836706d12402ae
[citadel.git] / citadel / md5.h
1 #ifndef MD5_H
2 #define MD5_H
3
4 #include "sysdep.h"
5 #include "typesize.h"
6
7 struct MD5Context {
8         cit_uint32_t buf[4];
9         cit_uint32_t bits[2];
10         cit_uint32_t in[16];
11 };
12
13 void MD5Init(struct MD5Context *context);
14 void MD5Update(struct MD5Context *context, unsigned char const *buf,
15                unsigned len);
16 void MD5Final(unsigned char digest[16], struct MD5Context *context);
17 void MD5Transform(cit_uint32_t buf[4], cit_uint32_t const in[16]);
18 char *make_apop_string(char *realpass, char *nonce, char *buffer, size_t n);
19
20 /*
21  * This is needed to make RSAREF happy on some MS-DOS compilers.
22  */
23 #ifndef HAVE_OPENSSL
24 typedef struct MD5Context MD5_CTX;
25 #endif
26
27 #define MD5_DIGEST_LEN          16
28 #define MD5_HEXSTRING_SIZE      33
29
30 #endif /* !MD5_H */