1 /* 2 *********************************************************************** 3 ** md5.h -- header file for implementation of MD5 ** 4 ** RSA Data Security, Inc. MD5 Message-Digest Algorithm ** 5 ** Created: 2/17/90 RLR ** 6 ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version ** 7 ** Revised (for MD5): RLR 4/27/91 ** 8 *********************************************************************** 9 */ 10 11 /* 12 *********************************************************************** 13 ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. ** 14 ** ** 15 ** License to copy and use this software is granted provided that ** 16 ** it is identified as the "RSA Data Security, Inc. MD5 Message- ** 17 ** Digest Algorithm" in all material mentioning or referencing this ** 18 ** software or this function. ** 19 ** ** 20 ** License is also granted to make and use derivative works ** 21 ** provided that such works are identified as "derived from the RSA ** 22 ** Data Security, Inc. MD5 Message-Digest Algorithm" in all ** 23 ** material mentioning or referencing the derived work. ** 24 ** ** 25 ** RSA Data Security, Inc. makes no representations concerning ** 26 ** either the merchantability of this software or the suitability ** 27 ** of this software for any particular purpose. It is provided "as ** 28 ** is" without express or implied warranty of any kind. ** 29 ** ** 30 ** These notices must be retained in any copies of any part of this ** 31 ** documentation and/or software. ** 32 *********************************************************************** 33 */ 34 35 #ifdef HAS_STDINT_H 36 #include <stdint.h> 37 #elif defined(HAS_INTTYPES_H) 38 #include <inttypes.h> 39 #else 40 #error "No <stdint.h> or <inttypes.h>" 41 #endif 42 43 /* typedef a 32-bit type */ 44 typedef uint32_t UINT4; 45 46 /* Data structure for MD5 (Message-Digest) computation */ 47 typedef struct { 48 UINT4 i[2]; /* number of _bits_ handled mod 2^64 */ 49 UINT4 buf[4]; /* scratch buffer */ 50 unsigned char in[64]; /* input buffer */ 51 unsigned char digest[16]; /* actual digest after MD5Final call */ 52 } MD5_CTX; 53 54 void MD5Init (MD5_CTX *mdContext); 55 void MD5Update (MD5_CTX *, unsigned const char *, unsigned int); 56 void MD5Final (MD5_CTX *); 57 58 /* 59 *********************************************************************** 60 ** End of md5.h ** 61 ******************************** (cut) ******************************** 62 */ 63