#include "global.h"#include "md5.h"Defines | |
| #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 |
| #define | F(x, y, z) (((x) & (y)) | ((~x) & (z))) |
| #define | G(x, y, z) (((x) & (z)) | ((y) & (~z))) |
| #define | H(x, y, z) ((x) ^ (y) ^ (z)) |
| #define | I(x, y, z) ((y) ^ ((x) | (~z))) |
| #define | ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(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) |
Functions | |
| static void MD5Transform | PROTO_LIST ((UINT4[4], const unsigned char[64])) |
| static void Encode | PROTO_LIST ((unsigned char *, UINT4 *, unsigned int)) |
| static void Decode | PROTO_LIST ((UINT4 *, const unsigned char *, unsigned int)) |
| static void MD5_memcpy | PROTO_LIST ((POINTER, POINTER, unsigned int)) |
| static void MD5_memset | PROTO_LIST ((POINTER, int, unsigned int)) |
| void | MD5Init (MD5_CTX *context) |
| void | MD5Update (MD5_CTX *context, const unsigned char *input, unsigned int inputLen) |
| void | MD5Final (digest, MD5_CTX *context) |
| static void | MD5Transform (state, block) |
| static void | Encode (unsigned char *output, UINT4 *input, unsigned int len) |
| static void | Decode (UINT4 *output, const unsigned char *input, unsigned int len) |
| static void | MD5_memcpy (POINTER output, POINTER input, unsigned int len) |
| static void | MD5_memset (POINTER output, int value, unsigned int len) |
Variables | |
| static unsigned char | PADDING [64] |
| #define F | ( | x, | |||
| y, | |||||
| z | ) | (((x) & (y)) | ((~x) & (z))) |
| #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); \
}
| #define G | ( | x, | |||
| y, | |||||
| z | ) | (((x) & (z)) | ((y) & (~z))) |
| #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); \
}
| #define H | ( | x, | |||
| y, | |||||
| z | ) | ((x) ^ (y) ^ (z)) |
| #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); \
}
| #define I | ( | x, | |||
| y, | |||||
| z | ) | ((y) ^ ((x) | (~z))) |
| #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); \
}
| #define ROTATE_LEFT | ( | x, | |||
| n | ) | (((x) << (n)) | ((x) >> (32-(n)))) |
| #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 |
| static void Decode | ( | UINT4 * | output, | |
| const unsigned char * | input, | |||
| unsigned int | len | |||
| ) | [static] |
| static void Encode | ( | unsigned char * | output, | |
| UINT4 * | input, | |||
| unsigned int | len | |||
| ) | [static] |
| static void MD5_memset | ( | POINTER | output, | |
| int | value, | |||
| unsigned int | len | |||
| ) | [static] |
| void MD5Final | ( | digest | , | |
| MD5_CTX * | context | |||
| ) |
| void MD5Init | ( | MD5_CTX * | context | ) |
| static void MD5Transform | ( | state | , | |
| block | ||||
| ) | [static] |
| void MD5Update | ( | MD5_CTX * | context, | |
| const unsigned char * | input, | |||
| unsigned int | inputLen | |||
| ) |
| static void MD5_memset PROTO_LIST | ( | (POINTER, int, unsigned int) | ) | [static] |
| static void Decode PROTO_LIST | ( | (UINT4 *, const unsigned char *, unsigned int) | ) | [static] |
| static void Encode PROTO_LIST | ( | (unsigned char *, UINT4 *, unsigned int) | ) | [static] |
| static void MD5Transform PROTO_LIST | ( | (UINT4[4], const unsigned char[64]) | ) | [static] |
unsigned char PADDING[64] [static] |
Initial value:
{
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
1.4.7