Macros | Functions
md5.c File Reference
#include <openssl/md5.h>
#include <string.h>
#include <openssl/mem.h>
#include "../../internal.h"
#include "../digest/md32_common.h"
#include "internal.h"
Include dependency graph for md5.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define F(b, c, d)   ((((c) ^ (d)) & (b)) ^ (d))
 
#define G(b, c, d)   ((((b) ^ (c)) & (d)) ^ (c))
 
#define H(b, c, d)   ((b) ^ (c) ^ (d))
 
#define I(b, c, d)   (((~(d)) | (b)) ^ (c))
 
#define R0(a, b, c, d, k, s, t)
 
#define R1(a, b, c, d, k, s, t)
 
#define R2(a, b, c, d, k, s, t)
 
#define R3(a, b, c, d, k, s, t)
 
#define X(i)   XX##i
 

Functions

uint8_tMD5 (const uint8_t *data, size_t len, uint8_t out[MD5_DIGEST_LENGTH])
 
static void md5_block_data_order (uint32_t *state, const uint8_t *data, size_t num)
 
int MD5_Final (uint8_t out[MD5_DIGEST_LENGTH], MD5_CTX *c)
 
int MD5_Init (MD5_CTX *md5)
 
void MD5_Transform (MD5_CTX *c, const uint8_t data[MD5_CBLOCK])
 
int MD5_Update (MD5_CTX *c, const void *data, size_t len)
 

Macro Definition Documentation

◆ F

#define F (   b,
  c,
  d 
)    ((((c) ^ (d)) & (b)) ^ (d))

Definition at line 117 of file md5.c.

◆ G

#define G (   b,
  c,
  d 
)    ((((b) ^ (c)) & (d)) ^ (c))

Definition at line 118 of file md5.c.

◆ H

#define H (   b,
  c,
  d 
)    ((b) ^ (c) ^ (d))

Definition at line 119 of file md5.c.

◆ I

#define I (   b,
  c,
  d 
)    (((~(d)) | (b)) ^ (c))

Definition at line 120 of file md5.c.

◆ R0

#define R0 (   a,
  b,
  c,
  d,
  k,
  s,
 
)
Value:
do { \
(a) += ((k) + (t) + F((b), (c), (d))); \
(a) = CRYPTO_rotl_u32(a, s); \
(a) += (b); \
} while (0)

Definition at line 122 of file md5.c.

◆ R1

#define R1 (   a,
  b,
  c,
  d,
  k,
  s,
 
)
Value:
do { \
(a) += ((k) + (t) + G((b), (c), (d))); \
(a) = CRYPTO_rotl_u32(a, s); \
(a) += (b); \
} while (0)

Definition at line 129 of file md5.c.

◆ R2

#define R2 (   a,
  b,
  c,
  d,
  k,
  s,
 
)
Value:
do { \
(a) += ((k) + (t) + H((b), (c), (d))); \
(a) = CRYPTO_rotl_u32(a, s); \
(a) += (b); \
} while (0)

Definition at line 136 of file md5.c.

◆ R3

#define R3 (   a,
  b,
  c,
  d,
  k,
  s,
 
)
Value:
do { \
(a) += ((k) + (t) + I((b), (c), (d))); \
(a) = CRYPTO_rotl_u32(a, s); \
(a) += (b); \
} while (0)

Definition at line 143 of file md5.c.

◆ X

#define X (   i)    XX##i

Function Documentation

◆ MD5()

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

Definition at line 68 of file md5.c.

◆ md5_block_data_order()

static void md5_block_data_order ( uint32_t state,
const uint8_t data,
size_t  num 
)
static

Definition at line 154 of file md5.c.

◆ MD5_Final()

int MD5_Final ( uint8_t  out[MD5_DIGEST_LENGTH],
MD5_CTX c 
)

Definition at line 103 of file md5.c.

◆ MD5_Init()

int MD5_Init ( MD5_CTX md5)

Definition at line 77 of file md5.c.

◆ MD5_Transform()

void MD5_Transform ( MD5_CTX c,
const uint8_t  data[MD5_CBLOCK] 
)

Definition at line 93 of file md5.c.

◆ MD5_Update()

int MD5_Update ( MD5_CTX c,
const void *  data,
size_t  len 
)

Definition at line 97 of file md5.c.

G
#define G(b, c, d)
Definition: md5.c:118
H
#define H(b, c, d)
Definition: md5.c:119
F
#define F(b, c, d)
Definition: md5.c:117
CRYPTO_rotl_u32
static uint32_t CRYPTO_rotl_u32(uint32_t value, int shift)
Definition: third_party/boringssl-with-bazel/src/crypto/internal.h:899
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
setup.k
k
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:42
c
void c(T a)
Definition: miscompile_with_no_unique_address_test.cc:40
b
uint64_t b
Definition: abseil-cpp/absl/container/internal/layout_test.cc:53
d
static const fe d
Definition: curve25519_tables.h:19
I
#define I(b, c, d)
Definition: md5.c:120
absl::str_format_internal::LengthMod::t
@ t


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:23