51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
The MD5 library.
|
|
MD5 is a message digest algorithm that can be used to condense an arbitrary
|
|
length message down to a 16 byte hash. The functions all need to be passed
|
|
a MD5_CTX which is used to hold the MD5 context during multiple MD5_Update()
|
|
function calls. This library also contains random number routines that are
|
|
based on MD5
|
|
|
|
The normal method of use for this library is as follows
|
|
|
|
MD5_Init(...);
|
|
MD5_Update(...);
|
|
...
|
|
MD5_Update(...);
|
|
MD5_Final(...);
|
|
|
|
This library requires the inclusion of 'md5.h'.
|
|
|
|
The functions are as follows:
|
|
|
|
void MD5_Init(
|
|
MD5_CTX *c);
|
|
This function needs to be called to initiate a MD5_CTX structure for
|
|
use.
|
|
|
|
void MD5_Update(
|
|
MD5_CTX *c;
|
|
unsigned char *data;
|
|
unsigned long len);
|
|
This updates the message digest context being generated with 'len'
|
|
bytes from the 'data' pointer. The number of bytes can be any
|
|
length.
|
|
|
|
void MD5_Final(
|
|
unsigned char *md;
|
|
MD5_CTX *c;
|
|
This function is called when a message digest of the data digested
|
|
with MD5_Update() is wanted. The message digest is put in the 'md'
|
|
array and is MD5_DIGEST_LENGTH (16) bytes long.
|
|
|
|
unsigned char *MD5(
|
|
unsigned char *d;
|
|
unsigned long n;
|
|
unsigned char *md;
|
|
This function performs a MD5_Init(), followed by a MD5_Update()
|
|
followed by a MD5_Final() (using a local MD5_CTX).
|
|
The resulting digest is put into 'md' if it is not NULL.
|
|
Regardless of the value of 'md', the message
|
|
digest is returned from the function. If 'md' was NULL, the message
|
|
digest returned is being stored in a static structure.
|
|
|