liberasurecode 1.6.2
Erasure Code API library
Loading...
Searching...
No Matches
Macros | Functions
md5.c File Reference
#include <string.h>
#include "md5.h"

Go to the source code of this file.

Macros

#define F(x, y, z)   ((z) ^ ((x) & ((y) ^ (z))))
 
#define G(x, y, z)   ((y) ^ ((z) & ((x) ^ (y))))
 
#define H(x, y, z)   ((x) ^ (y) ^ (z))
 
#define I(x, y, z)   ((y) ^ ((x) | ~(z)))
 
#define STEP(f, a, b, c, d, x, t, s)
 
#define SET(n)
 
#define GET(n)    (ctx->block[(n)])
 

Functions

static void * body (MD5_CTX *ctx, void *data, unsigned long size)
 
void MD5_Init (MD5_CTX *ctx)
 
void MD5_Update (MD5_CTX *ctx, void *data, unsigned long size)
 
void MD5_Final (unsigned char *result, MD5_CTX *ctx)
 

Macro Definition Documentation

◆ F

#define F ( x,
y,
z )   ((z) ^ ((x) & ((y) ^ (z))))

Definition at line 51 of file md5.c.

Referenced by body().

◆ G

#define G ( x,
y,
z )   ((y) ^ ((z) & ((x) ^ (y))))

Definition at line 52 of file md5.c.

Referenced by body().

◆ GET

#define GET ( n)     (ctx->block[(n)])

Definition at line 84 of file md5.c.

Referenced by body().

◆ H

#define H ( x,
y,
z )   ((x) ^ (y) ^ (z))

Definition at line 53 of file md5.c.

Referenced by body().

◆ I

#define I ( x,
y,
z )   ((y) ^ ((x) | ~(z)))

Definition at line 54 of file md5.c.

Referenced by body().

◆ SET

#define SET ( n)
Value:
(ctx->block[(n)] = \
(MD5_u32plus)ptr[(n) * 4] | \
((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \
((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \
((MD5_u32plus)ptr[(n) * 4 + 3] << 24))

Definition at line 78 of file md5.c.

Referenced by body().

◆ STEP

#define STEP ( f,
a,
b,
c,
d,
x,
t,
s )
Value:
(a) += f((b), (c), (d)) + (x) + (t); \
(a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \
(a) += (b);

Definition at line 59 of file md5.c.

Referenced by body().

Function Documentation

◆ body()

static void * body ( MD5_CTX * ctx,
void * data,
unsigned long size )
static

Definition at line 92 of file md5.c.

References F, G, GET, H, I, SET, and STEP.

Referenced by MD5_Final(), and MD5_Update().

◆ MD5_Final()

void MD5_Final ( unsigned char * result,
MD5_CTX * ctx )

Definition at line 244 of file md5.c.

References body().

◆ MD5_Init()

void MD5_Init ( MD5_CTX * ctx)

Definition at line 199 of file md5.c.

◆ MD5_Update()

void MD5_Update ( MD5_CTX * ctx,
void * data,
unsigned long size )

Definition at line 210 of file md5.c.

References body().