#include <string.h>
#include "md5.h"
Go to the source code of this file.
|
#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)]) |
|
|
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)))) |
◆ GET
#define GET |
( |
| n | ) |
(ctx->block[(n)]) |
#define H |
( |
| x, |
|
|
| y, |
|
|
| z ) ((x) ^ (y) ^ (z)) |
#define I |
( |
| x, |
|
|
| y, |
|
|
| z ) ((y) ^ ((x) | ~(z))) |
◆ SET
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().
◆ body()
static void * body |
( |
MD5_CTX * | ctx, |
|
|
void * | data, |
|
|
unsigned long | size ) |
|
static |
◆ MD5_Final()
void MD5_Final |
( |
unsigned char * | result, |
|
|
MD5_CTX * | ctx ) |
◆ MD5_Init()
void MD5_Init |
( |
MD5_CTX * | ctx | ) |
|
◆ MD5_Update()
void MD5_Update |
( |
MD5_CTX * | ctx, |
|
|
void * | data, |
|
|
unsigned long | size ) |