Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*********************************************************************
  2. * Filename:   md5.h
  3. * Author:     Brad Conte (brad AT bradconte.com)
  4. * Copyright:
  5. * Disclaimer: This code is presented "as is" without any guarantees.
  6. * Details:    Defines the API for the corresponding MD5 implementation.
  7. *********************************************************************/
  8.  
  9. #ifndef MD5_H
  10. #define MD5_H
  11.  
  12. /*************************** HEADER FILES ***************************/
  13. #include <stddef.h>
  14.  
  15. /****************************** MACROS ******************************/
  16. #define MD5_BLOCK_SIZE 16               // MD5 outputs a 16 byte digest
  17.  
  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
  21.  
  22. typedef struct {
  23.    BYTE data[64];
  24.    WORD datalen;
  25.    unsigned long long bitlen;
  26.    WORD state[4];
  27. } MD5_CTX;
  28.  
  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[]);
  33.  
  34. #endif   // MD5_H
  35.