Viewing file: md5.h (2.64 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * ** ************************************************************************** * ** md5.h -- Header file for implementation of MD5 Message Digest Algorithm ** * ** Updated: 2/13/90 by Ronald L. Rivest ** * ** (C) 1990 RSA Data Security, Inc. ** * ** ************************************************************************** */
#ifndef MD5_H #define MD5_H
#ifdef __cplusplus extern "C" { #endif
/* * MDstruct is the data structure for a message digest computation. */ typedef struct { unsigned int buffer[4]; /* Holds 4-word result of MD computation */ unsigned char count[8]; /* Number of bits processed so far */ unsigned int done; /* Nonzero means MD computation finished */ } MDstruct , *MDptr;
/* * MDbegin(MD) * ** Input: MD -- an MDptr * ** Initialize the MDstruct prepatory to doing a message digest computation. */ NETSNMP_IMPORT void MDbegin(MDptr);
/* * MDupdate(MD,X,count) * ** Input: MD -- an MDptr * ** X -- a pointer to an array of unsigned characters. * ** count -- the number of bits of X to use (an unsigned int). * ** Updates MD using the first ``count'' bits of X. * ** The array pointed to by X is not modified. * ** If count is not a multiple of 8, MDupdate uses high bits of last byte. * ** This is the basic input routine for a user. * ** The routine terminates the MD computation when count < 512, so * ** every MD computation should end with one call to MDupdate with a * ** count less than 512. Zero is OK for a count. */ NETSNMP_IMPORT int MDupdate(MDptr, const unsigned char *, unsigned int);
/* * MDprint(MD) * ** Input: MD -- an MDptr * ** Prints message digest buffer MD as 32 hexadecimal digits. * ** Order is from low-order byte of buffer[0] to high-order byte of buffer[3]. * ** Each byte is printed with high-order hexadecimal digit first. */ extern void MDprint(MDptr);
int MDchecksum(const u_char * data, size_t len, u_char * mac, size_t maclen); int MDsign(const u_char * data, size_t len, u_char * mac, size_t maclen, const u_char * secret, size_t secretlen); void MDget(MDstruct * MD, u_char * buf, size_t buflen);
/* * ** End of md5.h * ****************************(cut)**************************************** */ #ifdef __cplusplus } #endif #endif /* MD5_H */
|