Orb/Doxygen/libmd5/md5.h
changeset 3 d8fccb2cd802
parent 0 42188c7ea2d9
equal deleted inserted replaced
2:932c358ece3e 3:d8fccb2cd802
       
     1 /*
       
     2  * This is the header file for the MD5 message-digest algorithm.
       
     3  * The algorithm is due to Ron Rivest.  This code was
       
     4  * written by Colin Plumb in 1993, no copyright is claimed.
       
     5  * This code is in the public domain; do with it what you wish.
       
     6  *
       
     7  * Equivalent code is available from RSA Data Security, Inc.
       
     8  * This code has been tested against that, and is equivalent,
       
     9  * except that you don't need to include two pages of legalese
       
    10  * with every copy.
       
    11  *
       
    12  * To compute the message digest of a chunk of bytes, declare an
       
    13  * MD5Context structure, pass it to MD5Init, call MD5Update as
       
    14  * needed on buffers full of bytes, and then call MD5Final, which
       
    15  * will fill a supplied 16-byte array with the digest.
       
    16  *
       
    17  * Changed so as no longer to depend on Colin Plumb's `usual.h'
       
    18  * header definitions; now uses stuff from dpkg's config.h
       
    19  *  - Ian Jackson <ian@chiark.greenend.org.uk>.
       
    20  * Still in the public domain.
       
    21  */
       
    22 
       
    23 #ifndef MD5_H
       
    24 #define MD5_H
       
    25 
       
    26 #ifdef __cplusplus
       
    27 extern "C" {
       
    28 #endif
       
    29 
       
    30 #include "md5_loc.h"
       
    31 
       
    32 #define md5byte unsigned char
       
    33 
       
    34 //#if SIZEOF_UNSIGNED_LONG==4
       
    35 //# define UWORD32 unsigned long
       
    36 //#elif SIZEOF_UNSIGNED_INT==4
       
    37 //#else
       
    38 //# error I do not know what to use for a UWORD32.
       
    39 //#endif
       
    40 
       
    41 struct MD5Context {
       
    42 	UWORD32 buf[4];
       
    43 	UWORD32 bytes[2];
       
    44 	UWORD32 in[16];
       
    45 };
       
    46 
       
    47 void MD5Init(struct MD5Context *context);
       
    48 void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len);
       
    49 void MD5Final(unsigned char digest[16], struct MD5Context *context);
       
    50 void MD5Buffer (const unsigned char *buf,unsigned int len,unsigned char sig[16]);
       
    51 void MD5SigToString(unsigned char sig[16],char *str,int len);
       
    52 
       
    53 #ifdef __cplusplus
       
    54 }
       
    55 #endif
       
    56 
       
    57 #endif /* !MD5_H */