md5(3)md5(3)NAME
md5, MD2, MD4, MD5, MD2_Init, MD2_Update, MD2_Final, MD4_Init,
MD4_Update, MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and
MD5 hash functions
SYNOPSIS
#include <openssl/md2.h>
unsigned char *MD2(
const unsigned char *d, unsigned long n,
unsigned char *md ); void MD2_Init(
MD2_CTX *c ); void MD2_Update(
MD2_CTX *c, const unsigned char *data,
unsigned long len ); void MD2_Final(
unsigned char *md, MD2_CTX *c ); #include <openssl/md4.h>
unsigned char *MD4(
const unsigned char *d, unsigned long n, unsigned char *md );
void MD4_Init(
MD4_CTX *c ); void MD4_Update(
MD4_CTX *c, const void *data, unsigned long len ); void
MD4_Final(
unsigned char *md, MD4_CTX *c ); #include <openssl/md5.h>
unsigned char *MD5(
const unsigned char *d, unsigned long n, unsigned char *md );
void MD5_Init(
MD5_CTX *c ); void MD5_Update(
MD5_CTX *c, const void *data, unsigned long len ); void
MD5_Final(
unsigned char *md, MD5_CTX *c );
DESCRIPTION
MD2, MD4, and MD5 are cryptographic hash functions with a 128 bit out‐
put.
The MD2(), MD4(), and MD5() functions compute the MD2, MD4, and MD5
message digest of the n bytes at d and place it in md (which must have
space for MD2_DIGEST_LENGTH == MD4_DIGEST_LENGTH == MD5_DIGEST_LENGTH
== 16 bytes of output). If md is NULL, the digest is placed in a static
array.
The following functions may be used if the message is not completely
stored in memory:
The MD2_Init() function initializes a MD2_CTX structure.
The MD2_Update() function can be called repeatedly with chunks of the
message to be hashed (len bytes at data).
The MD2_Final() function places the message digest in md, which must
have space for MD2_DIGEST_LENGTH == 16 bytes of output, and erases the
MD2_CTX.
The MD4_Init(), MD4_Update(), MD4_Final(), MD5_Init(), MD5_Update(),
and MD5_Final() functions are analogous using an MD4_CTX and MD5_CTX
structure.
Applications should use the higher level functions, such as EVP_Diges‐
tInit(), instead of calling the hash functions directly.
MD2, MD4, and MD5 conform to RFC 1319, RFC 1320, and RFC 1321.
NOTES
MD2, MD4, and MD5 are recommended only for compatibility with existing
applications. In new applications, SHA-1 or RIPEMD-160 are preferred.
RETURN VALUES
The MD2(), MD4(), and MD5() functions return pointers to the hash
value.
The MD2_Init(), MD2_Update(), MD2_Final(), MD4_Init(), MD4_Update(),
MD4_Final(), MD5_Init(), MD5_Update(), and MD5_Final() functions do not
return values.
HISTORY
The MD2(), MD2_Init(), MD2_Update(), MD2_Final()), MD5(), MD5_Init(),
MD5_Update(), and MD5_Final() functions are available in all versions
of SSLeay and OpenSSL.
The MD4(), MD4_Init(), and MD4_Update() functions are available in
OpenSSL 0.9.6 and above.
SEE ALSO
Functions: sha(3), ripemd(3), EVP_DigestInit(3)md5(3)