void
MD2Init(MD2_CTX *context)
void
MD2Update(MD2_CTX *context, const unsigned char *data, unsigned int len)
void
MD2Final(unsigned char digest[16], MD2_CTX *context)
char *
MD2End(MD2_CTX *context, char *buf)
char *
MD2File(const char *filename, char *buf)
char *
MD2Data(const unsigned char *data, unsigned int len, char *buf)
The MD2 routines should not be used for any security-related purpose.
The
MD2Init(),
MD2Update(),
and
MD2Final()
functions are the core functions.
Allocate an MD2_CTX, initialize it with
MD2Init(),
run over the data with
MD2Update(),
and finally extract the result using
MD2Final().
MD2End()
is a wrapper for
MD2Final()
which converts the return value to a 33-character
(including the terminating '\0')
ASCII
string which represents the 128 bits in hexadecimal.
MD2File()
calculates the digest of a file, and uses
MD2End()
to return the result.
If the file cannot be opened, a null pointer is returned.
MD2Data()
calculates the digest of a chunk of data in memory, and uses
MD2End()
to return the result.
When using
MD2End(),
MD2File(),
or
MD2Data(),
the
buf
argument can be a null pointer, in which case the returned string
is allocated with
malloc(3)
and subsequently must be explicitly deallocated using
free(3)
after use.
If the
buf
argument is non-null it must point to at least 33 characters of buffer space.