| /* | |
| * This is the header file for the MD5 message-digest algorithm. | |
| * The algorithm is due to Ron Rivest. This code was | |
| * written by Colin Plumb in 1993, no copyright is claimed. | |
| * This code is in the public domain; do with it what you wish. | |
| * | |
| * Equivalent code is available from RSA Data Security, Inc. | |
| * This code has been tested against that, and is equivalent, | |
| * except that you don't need to include two pages of legalese | |
| * with every copy. | |
| * | |
| * To compute the message digest of a chunk of bytes, declare an | |
| * MD5Context structure, pass it to MD5Init, call MD5Update as | |
| * needed on buffers full of bytes, and then call MD5Final, which | |
| * will fill a supplied 16-byte array with the digest. | |
| * | |
| * Changed so as no longer to depend on Colin Plumb's `usual.h' | |
| * header definitions | |
| * - Ian Jackson <ian@chiark.greenend.org.uk>. | |
| * Still in the public domain. | |
| */ | |
| #ifndef AOM_COMMON_MD5_UTILS_H_ | |
| #define AOM_COMMON_MD5_UTILS_H_ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #define md5byte unsigned char | |
| #define UWORD32 unsigned int | |
| typedef struct MD5Context MD5Context; | |
| struct MD5Context { | |
| UWORD32 buf[4]; | |
| UWORD32 bytes[2]; | |
| UWORD32 in[16]; | |
| }; | |
| void MD5Init(struct MD5Context *context); | |
| void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len); | |
| void MD5Final(unsigned char digest[16], struct MD5Context *context); | |
| void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); | |
| #ifdef __cplusplus | |
| } // extern "C" | |
| #endif | |
| #endif // AOM_COMMON_MD5_UTILS_H_ |