/* ** (c) COPYRIGHT W3C, INRIA 1998. ** Please first read the full copyright statement in the file COPYRIGHT. */
Contains a generic interface to the message digest algorithms, inspired from the RSA-Euro toolkit. For the moment, it only covers MD5. SHA and other algorithms could be added later on. This code is only used during message digest authentication. AUTHORS: JK Jose Kahan jose@w3.org HISTORY: Dec 98 JK Created the module from scratch
This module is implemented by HTDigest.c, and it is a part of the W3C Sample Code Library.
#ifndef HTDigest_H #define HTDigest_H /* Library include files */ #include "WWWLib.h" /* add the MD algorithm header files here below */ #include "md5.h" #ifdef __cplusplus extern "C" { #endif
The list of known message digest algorithms
#define HTDaMD5 1
This is our general digest context structure. If you add a new algorithm, include its context in the union.
typedef struct _HTDigestContext { int algorithm; union { MD5_CTX md5; } context; } HTDigestContext;
This is a set of generic functions for generating a message digest
extern BOOL HTDigest_init (HTDigestContext *context, int digesttype); extern BOOL HTDigest_update (HTDigestContext *context, char *input, unsigned int inputLen); extern BOOL HTDigest_final (unsigned char *digest, HTDigestContext *context);
#ifdef __cplusplus } #endif #endif /* NOT HTDigest_H */