md5.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
- /*
- * ** **************************************************************************
- * ** 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.
- */
- extern 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.
- */
- extern int MDupdate(MDptr, 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(u_char * data, size_t len, u_char * mac,
- size_t maclen);
- int MDsign(u_char * data, size_t len, u_char * mac,
- size_t maclen, 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 */