masqmail

annotate src/md5/md5.h @ 341:7caf6f799e99

Added tag 0.3.3 for changeset 60bb2dbe2866
author markus schnalke <meillo@marmaro.de>
date Wed, 31 Aug 2011 09:38:43 +0200
parents e0938c511243
children
rev   line source
meillo@209 1 /*
meillo@209 2 * This is an OpenSSL-compatible implementation of the RSA Data Security,
meillo@209 3 * Inc. MD5 Message-Digest Algorithm (RFC 1321).
meillo@209 4 *
meillo@209 5 * Written by Solar Designer <solar at openwall.com> in 2001, and placed
meillo@209 6 * in the public domain. There's absolutely no warranty.
meillo@209 7 *
meillo@209 8 * See md5.c for more information.
meillo@0 9 */
meillo@0 10
meillo@209 11 #ifdef HAVE_OPENSSL
meillo@209 12 #include <openssl/md5.h>
meillo@209 13 #elif !defined(_MD5_H)
meillo@209 14 #define _MD5_H
meillo@0 15
meillo@209 16 /* Any 32-bit or wider unsigned integer data type will do */
meillo@221 17 /* Note: Using an int will work on most systems and might perform much better */
meillo@210 18 typedef unsigned long MD5_u32plus;
meillo@0 19
meillo@0 20 typedef struct {
meillo@209 21 MD5_u32plus lo, hi;
meillo@209 22 MD5_u32plus a, b, c, d;
meillo@209 23 unsigned char buffer[64];
meillo@209 24 MD5_u32plus block[16];
meillo@0 25 } MD5_CTX;
meillo@0 26
meillo@209 27 extern void MD5_Init(MD5_CTX *ctx);
meillo@209 28 extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size);
meillo@209 29 extern void MD5_Final(unsigned char *result, MD5_CTX *ctx);
meillo@209 30
meillo@209 31 #endif