Scroll to navigation

MD5(3) Library Functions Manual MD5(3)

NAME

MD4, MD5, MD4_Init, MD4_Update, MD4_Final, MD5_Init, MD5_Update, MD5_FinalMD4 and MD5 hash functions

SYNOPSIS

#include <openssl/md4.h>

unsigned char *
MD4(const unsigned char *d, unsigned long n, unsigned char *md);

int
MD4_Init(MD4_CTX *c);

int
MD4_Update(MD4_CTX *c, const void *data, unsigned long len);

int
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);

int
MD5_Init(MD5_CTX *c);

int
MD5_Update(MD5_CTX *c, const void *data, unsigned long len);

int
MD5_Final(unsigned char *md, MD5_CTX *c);

DESCRIPTION

MD4 and MD5 are cryptographic hash functions with a 128-bit output.

() and () compute the MD4 and MD5 message digest of the n bytes at d and place it in md, which must have space for MD4_DIGEST_LENGTH == MD5_DIGEST_LENGTH == 16 bytes of output.

The following functions may be used if the message is not completely stored in memory:

() initializes a MD5_CTX structure.

() can be called repeatedly with chunks of the message to be hashed (len bytes at data).

() places the message digest in md, which must have space for MD5_DIGEST_LENGTH == 16 bytes of output, and erases the MD5_CTX.

(), (), and () are analogous using an MD4_CTX structure.

Applications should use the higher level functions EVP_DigestInit(3) etc. instead of calling these hash functions directly.

RETURN VALUES

MD4() and MD5() return pointers to the hash value.

MD4_Init(), MD4_Update(), MD4_Final(), MD5_Init(), MD5_Update(), and MD5_Final() return 1 for success or 0 otherwise.

SEE ALSO

EVP_DigestInit(3)

STANDARDS

RFC 1320, RFC 1321

HISTORY

MD5(), MD5_Init(), MD5_Update(), and MD5_Final() appeared in SSLeay 0.4 or earlier and have been available since OpenBSD 2.4.

MD4(), MD4_Init(), MD4_Update(), and MD4_Final() first appeared in OpenSSL 0.9.6 and have been available since OpenBSD 2.9.

CAVEATS

Other implementations allow md in MD4() and MD5() to be NULL and return a static array, which is not thread safe.

May 26, 2024 Linux 6.4.0-150600.23.25-default