meillo@209: /* meillo@209: * This is an OpenSSL-compatible implementation of the RSA Data Security, meillo@209: * Inc. MD5 Message-Digest Algorithm (RFC 1321). meillo@209: * meillo@209: * Written by Solar Designer in 2001, and placed meillo@209: * in the public domain. There's absolutely no warranty. meillo@209: * meillo@209: * See md5.c for more information. meillo@0: */ meillo@0: meillo@209: #ifdef HAVE_OPENSSL meillo@209: #include meillo@209: #elif !defined(_MD5_H) meillo@209: #define _MD5_H meillo@0: meillo@209: /* Any 32-bit or wider unsigned integer data type will do */ meillo@221: /* Note: Using an int will work on most systems and might perform much better */ meillo@210: typedef unsigned long MD5_u32plus; meillo@0: meillo@0: typedef struct { meillo@209: MD5_u32plus lo, hi; meillo@209: MD5_u32plus a, b, c, d; meillo@209: unsigned char buffer[64]; meillo@209: MD5_u32plus block[16]; meillo@0: } MD5_CTX; meillo@0: meillo@209: extern void MD5_Init(MD5_CTX *ctx); meillo@209: extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size); meillo@209: extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); meillo@209: meillo@209: #endif