Go to the source code of this file.
Defines | |
#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) |
#define F | ( | x, | |||
y, | |||||
z | ) | ((z) ^ ((x) & ((y) ^ (z)))) |
#define G | ( | x, | |||
y, | |||||
z | ) | ((y) ^ ((z) & ((x) ^ (y)))) |
#define I | ( | x, | |||
y, | |||||
z | ) | ((y) ^ ((x) | ~(z))) |
#define STEP | ( | f, | |||
a, | |||||
b, | |||||
c, | |||||
d, | |||||
x, | |||||
t, | |||||
s | ) |
#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 54 of file md5.c.
Referenced by body().
static void* body | ( | MD5_CTX * | ctx, | |
void * | data, | |||
unsigned long | size | |||
) | [static] |
Definition at line 68 of file md5.c.
References MD5_CTX::a, MD5_CTX::b, MD5_CTX::c, MD5_CTX::d, F, G, GET, H, I, SET, and STEP.
Referenced by MD5_Final(), and MD5_Update().
void MD5_Init | ( | MD5_CTX * | ctx | ) |
Definition at line 175 of file md5.c.
References MD5_CTX::a, MD5_CTX::b, MD5_CTX::c, MD5_CTX::d, MD5_CTX::hi, and MD5_CTX::lo.
void MD5_Update | ( | MD5_CTX * | ctx, | |
void * | data, | |||
unsigned long | size | |||
) |
Definition at line 186 of file md5.c.
References body(), MD5_CTX::buffer, MD5_CTX::hi, and MD5_CTX::lo.
void MD5_Final | ( | unsigned char * | result, | |
MD5_CTX * | ctx | |||
) |
Definition at line 220 of file md5.c.
References MD5_CTX::a, MD5_CTX::b, body(), MD5_CTX::buffer, MD5_CTX::c, MD5_CTX::d, MD5_CTX::hi, and MD5_CTX::lo.