#ifndef _md5_h_
#define _md5_h_

#define MD5_DATA_BITS		128
#define MD5_KEY_BITS		512

#define MD5_DATA_OCTETS		((MD5_DATA_BITS + 63) / 64)
#define MD5_KEY_OCTETS		((MD5_KEY_BITS + 63) / 64)
#define MD5_DATA_WORDS		(MD5_DATA_OCTETS * 2)
#define MD5_KEY_WORDS		(MD5_KEY_OCTETS * 2)
#define MD5_DATA_BYTES		(MD5_DATA_OCTETS * 8)
#define MD5_KEY_BYTES		(MD5_KEY_OCTETS * 8)

extern void __fastcall MD5_encrypt (const unsigned long *data_in, unsigned long *data_out, const unsigned long *key);
extern void __fastcall MD5_decrypt (const unsigned long *data_in, unsigned long *data_out, const unsigned long *key);

#endif
