This source file contains the implemention of the MD5 hash algorithm.
More...
#include <string.h>
#include "md5.h"
|
| #define | F(x, y, z) |
| #define | G(x, y, z) |
| #define | H(x, y, z) |
| #define | I(x, y, z) |
| #define | ROTATE_LEFT(x, n) |
| #define | FF(a, b, c, d, x, s, ac) |
| #define | GG(a, b, c, d, x, s, ac) |
| #define | HH(a, b, c, d, x, s, ac) |
| #define | II(a, b, c, d, x, s, ac) |
| #define | UL(x) |
|
#define | S11 7 |
|
#define | S12 12 |
|
#define | S13 17 |
|
#define | S14 22 |
|
#define | S21 5 |
|
#define | S22 9 |
|
#define | S23 14 |
|
#define | S24 20 |
|
#define | S31 4 |
|
#define | S32 11 |
|
#define | S33 16 |
|
#define | S34 23 |
|
#define | S41 6 |
|
#define | S42 10 |
|
#define | S43 15 |
|
#define | S44 21 |
|
|
void | MD5Init (MD5_CTX *mdContext) |
|
void | MD5Update (MD5_CTX *mdContext, const void *inBufArg, unsigned int inLen) |
|
void | MD5Final (unsigned char hash[16], MD5_CTX *mdContext) |
This source file contains the implemention of the MD5 hash algorithm.
Value:(((x) & (y)) | ((~x) & (z)))
◆ FF
| #define FF |
( |
| a, |
|
|
| b, |
|
|
| c, |
|
|
| d, |
|
|
| x, |
|
|
| s, |
|
|
| ac ) |
Value:{(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
Value:(((x) & (z)) | ((y) & (~z)))
◆ GG
| #define GG |
( |
| a, |
|
|
| b, |
|
|
| c, |
|
|
| d, |
|
|
| x, |
|
|
| s, |
|
|
| ac ) |
Value:{(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
◆ HH
| #define HH |
( |
| a, |
|
|
| b, |
|
|
| c, |
|
|
| d, |
|
|
| x, |
|
|
| s, |
|
|
| ac ) |
Value:{(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
◆ II
| #define II |
( |
| a, |
|
|
| b, |
|
|
| c, |
|
|
| d, |
|
|
| x, |
|
|
| s, |
|
|
| ac ) |
Value:{(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
◆ ROTATE_LEFT
| #define ROTATE_LEFT |
( |
| x, |
|
|
| n ) |
Value:(((x) << (n)) | ((x) >> (32-(n))))
◆ UL