| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Free for all implementation of the MD4 message-digest algorithm
- // by Dominik Reichl
- // Based on RSA's MD4C.C and MD4.h files.
- // Original header in MD4C.C and MD4.h:
- // MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm
- /*
- Copyright (C) 1990-2, 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. MD4 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. MD4 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 ___MD4_H___
- #define ___MD4_H___
- #ifndef MD4_POINTER
- typedef unsigned char * MD4_POINTER;
- #endif
- #ifndef UINT4
- typedef unsigned long UINT4;
- #endif
- // MD4 context
- typedef struct {
- UINT4 state[4]; // state (ABCD)
- UINT4 count[2]; // number of bits, modulo 2^64 (lsb first)
- unsigned char buffer[64]; // input buffer
- } MD4_CTX;
- void MD4Init(MD4_CTX *context);
- void MD4Update(MD4_CTX *context, unsigned char *input, unsigned int inputLen);
- void MD4Final(unsigned char *digest, MD4_CTX *context);
- #endif // ___MD4_H___
|