1/* 2 File: MD5.h 3 4 Written by: Colin Plumb 5 6 Copyright: Copyright (c) 1998,2004 Apple Computer, Inc. All Rights Reserved. 7 8 Change History (most recent first): 9 10 <8> 10/06/98 ap Changed to compile with C++. 11 12 To Do: 13*/ 14 15/* Copyright (c) 1998,2004 Apple Computer, Inc. All Rights Reserved. 16 * 17 * NOTICE: USE OF THE MATERIALS ACCOMPANYING THIS NOTICE IS SUBJECT 18 * TO THE TERMS OF THE SIGNED "FAST ELLIPTIC ENCRYPTION (FEE) REFERENCE 19 * SOURCE CODE EVALUATION AGREEMENT" BETWEEN APPLE COMPUTER, INC. AND THE 20 * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE COMPUTER, 21 * INC. ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL 22 * EXPOSE YOU TO LIABILITY. 23 *************************************************************************** 24 * 25 * MD5.h 26 * derived and used without need for permission from public domain source 27 */ 28 29#ifndef _CK_MD5_H_ 30#define _CK_MD5_H_ 31 32#ifdef __cplusplus 33extern "C" { 34#endif 35 36#ifdef __alpha 37typedef unsigned int uint32; 38#elif defined (macintosh) 39typedef unsigned int uint32; 40#else 41#include <Security/cssmconfig.h> 42//typedef unsigned long uint32; 43#endif 44 45struct MD5Context { 46 uint32 buf[4]; 47 uint32 bits[2]; // bits[0] is low 32 bits of bit count 48 unsigned char in[64]; 49}; 50 51#define MD5_DIGEST_SIZE 16 /* in bytes */ 52#define MD5_BLOCK_SIZE 64 /* in bytes */ 53 54void MD5Init(struct MD5Context *context); 55void MD5Update(struct MD5Context *context, unsigned char const *buf, 56 unsigned len); 57void MD5Final(struct MD5Context *context, unsigned char *digest); 58 59#ifdef __cplusplus 60} 61#endif 62 63#endif /*_CK_MD5_H_*/ 64