00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef MD5_H
00010 #define MD5_H
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016
00017
00018
00019
00020 typedef struct {
00021 unsigned int buffer[4];
00022 unsigned char count[8];
00023 unsigned int done;
00024 } MDstruct , *MDptr;
00025
00026
00027
00028
00029
00030
00031 extern void MDbegin(MDptr);
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 extern int MDupdate(MDptr, unsigned char *, unsigned int);
00047
00048
00049
00050
00051
00052
00053
00054
00055 extern void MDprint(MDptr);
00056
00057 int MDchecksum(u_char * data, size_t len, u_char * mac,
00058 size_t maclen);
00059 int MDsign(u_char * data, size_t len, u_char * mac,
00060 size_t maclen, u_char * secret,
00061 size_t secretlen);
00062 void MDget(MDstruct * MD, u_char * buf, size_t buflen);
00063
00064
00065
00066
00067
00068 #ifdef __cplusplus
00069 }
00070 #endif
00071 #endif