1 /* The include file for both the MD4 and MD5 routines. */
2 
3 #define MD4_DIGEST_LEN 16
4 #define MD5_DIGEST_LEN 16
5 #define MAX_DIGEST_LEN MD5_DIGEST_LEN
6 
7 #define CSUM_CHUNK 64
8 
9 typedef struct {
10 	uint32 A, B, C, D;
11 	uint32 totalN;          /* bit count, lower 32 bits */
12 	uint32 totalN2;         /* bit count, upper 32 bits */
13 	uchar buffer[CSUM_CHUNK];
14 } md_context;
15 
16 void mdfour_begin(md_context *md);
17 void mdfour_update(md_context *md, const uchar *in, uint32 length);
18 void mdfour_result(md_context *md, uchar digest[MD4_DIGEST_LEN]);
19 
20 void get_mdfour(uchar digest[MD4_DIGEST_LEN], const uchar *in, int length);
21 
22 void md5_begin(md_context *ctx);
23 void md5_update(md_context *ctx, const uchar *input, uint32 length);
24 void md5_result(md_context *ctx, uchar digest[MD5_DIGEST_LEN]);
25 
26 void get_md5(uchar digest[MD5_DIGEST_LEN], const uchar *input, int n);
27