Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
| MD5(3) | Library Functions Manual | MD5(3) | 
NAME
MD4, MD5,
    MD4_Init, MD4_Update,
    MD4_Final, MD5_Init,
    MD5_Update, MD5_Final
    — MD4 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.
MD4()
    and
    MD5()
    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:
MD5_Init()
    initializes a MD5_CTX structure.
MD5_Update()
    can be called repeatedly with chunks of the message to be hashed
    (len bytes at
    data).
MD5_Final()
    places the message digest in md, which must have space
    for MD5_DIGEST_LENGTH == 16
    bytes of output, and erases the MD5_CTX.
MD4_Init(),
    MD4_Update(),
    and
    MD4_Final()
    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
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 | Sortix 1.1.0-dev | 
