1 /*********************************************************************
3 * Author: Brad Conte (brad AT bradconte.com)
5 * Disclaimer: This code is presented "as is" without any guarantees.
6 * Details: Defines the API for the corresponding MD5 implementation.
7 *********************************************************************/
12 /*************************** HEADER FILES ***************************/
15 /****************************** MACROS ******************************/
16 #define MD5_BLOCK_SIZE 16 // MD5 outputs a 16 byte digest
18 /**************************** DATA TYPES ****************************/
19 typedef unsigned char BYTE
; // 8-bit byte
20 typedef unsigned int WORD
; // 32-bit word, change to "long" for 16-bit machines
25 unsigned long long bitlen
;
29 /*********************** FUNCTION DECLARATIONS **********************/
30 void md5_init(MD5_CTX
*ctx
);
31 void md5_update(MD5_CTX
*ctx
, const BYTE data
[], size_t len
);
32 void md5_final(MD5_CTX
*ctx
, BYTE hash
[]);