| /* |
| *********************************************************************** |
| ** md5.h -- header file for implementation of MD5 ** |
| ** RSA Data Security, Inc. MD5 Message-Digest Algorithm ** |
| ** Created: 2/17/90 RLR ** |
| ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version ** |
| ** Revised (for MD5): RLR 4/27/91 ** |
| ** -- G modified to have y&~z instead of y&z ** |
| ** -- FF, GG, HH modified to add in last register done ** |
| ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 ** |
| ** -- distinct additive constant for each step ** |
| ** -- round 4 added, working mod 7 ** |
| *********************************************************************** |
| */ |
| |
| /* |
| *********************************************************************** |
| ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. ** |
| ** ** |
| ** License to copy and use this software is granted provided that ** |
| ** it is identified as the "RSA Data Security, Inc. MD5 Message- ** |
| ** Digest Algorithm" in all material mentioning or referencing this ** |
| ** software or this function. ** |
| ** ** |
| ** License is also granted to make and use derivative works ** |
| ** provided that such works are identified as "derived from the RSA ** |
| ** Data Security, Inc. MD5 Message-Digest Algorithm" in all ** |
| ** material mentioning or referencing the derived work. ** |
| ** ** |
| ** RSA Data Security, Inc. makes no representations concerning ** |
| ** either the merchantability of this software or the suitability ** |
| ** of this software for any particular purpose. It is provided "as ** |
| ** is" without express or implied warranty of any kind. ** |
| ** ** |
| ** These notices must be retained in any copies of any part of this ** |
| ** documentation and/or software. ** |
| *********************************************************************** |
| */ |
| |
| #ifndef __MD5_INCLUDE__ |
| |
| #ifndef __P |
| # ifdef __STDC__ |
| # define __P(x) x |
| # else |
| # define __P(x) () |
| # endif |
| #endif |
| #ifndef __STDC__ |
| # undef const |
| # define const |
| #endif |
| |
| /* typedef a 32-bit type */ |
| typedef unsigned int UINT4; |
| |
| /* Data structure for MD5 (Message-Digest) computation */ |
| typedef struct { |
| UINT4 i[2]; /* number of _bits_ handled mod 2^64 */ |
| UINT4 buf[4]; /* scratch buffer */ |
| unsigned char in[64]; /* input buffer */ |
| unsigned char digest[16]; /* actual digest after MD5Final call */ |
| } MD5_CTX; |
| |
| extern void MD5Init __P((MD5_CTX *)); |
| extern void MD5Update __P((MD5_CTX *, unsigned char *, unsigned int)); |
| extern void MD5Final __P((unsigned char *, MD5_CTX *)); |
| |
| #define __MD5_INCLUDE__ |
| #endif /* __MD5_INCLUDE__ */ |