md5.h

All headers

MD5.

  1. MD5_CBLOCK
  2. MD5_DIGEST_LENGTH
  3. MD5_Init
  4. MD5_Update
  5. MD5_Final
  6. MD5
  7. MD5_Transform
  8. md5_state_st

MD5_CBLOCK is the block size of MD5.

#define MD5_CBLOCK 64

MD5_DIGEST_LENGTH is the length of an MD5 digest.

#define MD5_DIGEST_LENGTH 16

MD5_Init initialises md5 and returns one.

OPENSSL_EXPORT int MD5_Init(MD5_CTX *md5);

MD5_Update adds len bytes from data to md5 and returns one.

OPENSSL_EXPORT int MD5_Update(MD5_CTX *md5, const void *data, size_t len);

MD5_Final adds the final padding to md5 and writes the resulting digest to out, which must have at least MD5_DIGEST_LENGTH bytes of space. It returns one.

OPENSSL_EXPORT int MD5_Final(uint8_t out[MD5_DIGEST_LENGTH], MD5_CTX *md5);

MD5 writes the digest of len bytes from data to out and returns out. There must be at least MD5_DIGEST_LENGTH bytes of space in out.

OPENSSL_EXPORT uint8_t *MD5(const uint8_t *data, size_t len,
                            uint8_t out[MD5_DIGEST_LENGTH]);

MD5_Transform is a low-level function that performs a single, MD5 block transformation using the state from md5 and 64 bytes from block.

OPENSSL_EXPORT void MD5_Transform(MD5_CTX *md5,
                                  const uint8_t block[MD5_CBLOCK]);
struct md5_state_st {
  uint32_t h[4];
  uint32_t Nl, Nh;
  uint8_t data[MD5_CBLOCK];
  unsigned num;
};