Logo Search packages:      
Sourcecode: weplab version File versions  Download package

md5.h

#ifndef MD5_H
#define MD5_H

#define GET_32BIT_LSB_FIRST(cp) \
  (((unsigned long)(unsigned char)(cp)[0]) | \
  ((unsigned long)(unsigned char)(cp)[1] << 8) | \
  ((unsigned long)(unsigned char)(cp)[2] << 16) | \
  ((unsigned long)(unsigned char)(cp)[3] << 24))

#define PUT_32BIT_LSB_FIRST(cp, value) do { \
  (cp)[0] = (value); \
  (cp)[1] = (value) >> 8; \
  (cp)[2] = (value) >> 16; \
  (cp)[3] = (value) >> 24; } while (0)



typedef unsigned int word32;
      /* this used to get done in header files that used gnu autoconf,
       * but to avoid lifting non-public-domain code, I have extracted
       * the relevant line. Therefore, if ints aren't 32 bits on your
       * machine, you should fix this typedef.
       */
typedef word32 uint32;

struct MD5Context {
      uint32 buf[4];
      uint32 bits[2];
      unsigned char in[64];
};

void MD5Init(struct MD5Context *context);
void MD5Update(struct MD5Context *context, unsigned char const *buf,
             unsigned len);
void MD5Final(unsigned char digest[16], struct MD5Context *context);
void MD5Transform(uint32 buf[4], const unsigned char in[64],
                  struct MD5Context *ctx);

/*
 * This is needed to make RSAREF happy on some MS-DOS compilers.
 */
typedef struct MD5Context MD5_CTX;

void debugStatus(char *m, struct MD5Context *ctx);
void dumpBytes(unsigned char *b, int len);

#endif /* !MD5_H */


Generated by  Doxygen 1.6.0   Back to index