|
|
1.1 ! root 1: /* md5.h - header file for md5.c */ ! 2: ! 3: /* $Id: md5.h,v 1.5 2004/09/23 19:09:53 rswindell Exp $ */ ! 4: ! 5: /* RSA Data Security, Inc., MD5 Message-Digest Algorithm */ ! 6: ! 7: /* NOTE: Numerous changes have been made; the following notice is ! 8: included to satisfy legal requirements. ! 9: ! 10: Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All ! 11: rights reserved. ! 12: ! 13: License to copy and use this software is granted provided that it ! 14: is identified as the "RSA Data Security, Inc. MD5 Message-Digest ! 15: Algorithm" in all material mentioning or referencing this software ! 16: or this function. ! 17: ! 18: License is also granted to make and use derivative works provided ! 19: that such works are identified as "derived from the RSA Data ! 20: Security, Inc. MD5 Message-Digest Algorithm" in all material ! 21: mentioning or referencing the derived work. ! 22: ! 23: RSA Data Security, Inc. makes no representations concerning either ! 24: the merchantability of this software or the suitability of this ! 25: software for any particular purpose. It is provided "as is" ! 26: without express or implied warranty of any kind. ! 27: ! 28: These notices must be retained in any copies of any part of this ! 29: documentation and/or software. ! 30: */ ! 31: ! 32: #ifndef H__MD5 ! 33: #define H__MD5 ! 34: ! 35: #include <stddef.h> /* size_t */ ! 36: ! 37: #define MD5_DIGEST_SIZE 16 ! 38: ! 39: #ifndef UINT4 ! 40: typedef unsigned long UINT4; ! 41: #endif ! 42: #ifndef BYTE ! 43: typedef unsigned char BYTE; ! 44: #endif ! 45: ! 46: typedef struct ! 47: { ! 48: UINT4 state[4]; ! 49: UINT4 count[2]; ! 50: BYTE buffer[64]; ! 51: } MD5; ! 52: ! 53: #if defined(_WIN32) && (defined(MD5_IMPORTS) || defined(MD5_EXPORTS)) ! 54: #if defined(MD5_IMPORTS) ! 55: #define MD5EXPORT __declspec(dllimport) ! 56: #else ! 57: #define MD5EXPORT __declspec(dllexport) ! 58: #endif ! 59: #if defined(__BORLANDC__) ! 60: #define MD5CALL __stdcall ! 61: #else ! 62: #define MD5CALL ! 63: #endif ! 64: #else /* !_WIN32 */ ! 65: #define MD5EXPORT ! 66: #define MD5CALL ! 67: #endif ! 68: ! 69: ! 70: #ifdef __cplusplus ! 71: extern "C" { ! 72: #endif ! 73: ! 74: MD5EXPORT void MD5CALL MD5_open(MD5* ctx); ! 75: MD5EXPORT void MD5CALL MD5_digest(MD5* ctx, const void* buf, size_t len); ! 76: MD5EXPORT void MD5CALL MD5_close(MD5* ctx, BYTE digest[MD5_DIGEST_SIZE]); ! 77: MD5EXPORT BYTE* MD5CALL MD5_calc(BYTE digest[MD5_DIGEST_SIZE], const void* buf, size_t len); ! 78: MD5EXPORT BYTE* MD5CALL MD5_hex(BYTE* dest, const BYTE digest[MD5_DIGEST_SIZE]); ! 79: ! 80: #ifdef __cplusplus ! 81: } ! 82: #endif ! 83: ! 84: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.