You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-05 04:50:35 +03:00
72 lines
2.6 KiB
C
72 lines
2.6 KiB
C
/*
|
|
* ** **************************************************************************
|
|
* ** 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 */
|