C:/fscan/HTTPCore/Authentication/md5.cpp File Reference

#include "md5.h"
#include "../Build.h"

Include dependency graph for md5.cpp:

Go to the source code of this file.

Defines

#define GET_UINT32(n, b, i)
#define PUT_UINT32(n, b, i)
#define S(x, n)   ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
#define P(a, b, c, d, k, s, t)
#define F(x, y, z)   (z ^ (x & (y ^ z)))
#define F(x, y, z)   (y ^ (z & (x ^ y)))
#define F(x, y, z)   (x ^ y ^ z)
#define F(x, y, z)   (y ^ (x | ~z))
#define a   md5sum

Functions

void md5_starts (struct md5_context *ctx)
void md5_process (struct md5_context *ctx, uint8 data[64])
void md5_update (struct md5_context *ctx, uint8 *input, uint32 length)
void md5_finish (struct md5_context *ctx, uint8 digest[16])
void Getmd5Hash (char *buffer, unsigned int len, unsigned char *result)

Variables

static uint8 md5_padding [64]


Define Documentation

#define a   md5sum

Referenced by Getmd5Hash().

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

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

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

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

Referenced by G().

#define GET_UINT32 ( n,
b,
 ) 

Value:

{                                                               \
    (n) = (uint32) ((uint8 *) b)[(i)]                           \
      | (((uint32) ((uint8 *) b)[(i)+1]) <<  8)                 \
      | (((uint32) ((uint8 *) b)[(i)+2]) << 16)                 \
      | (((uint32) ((uint8 *) b)[(i)+3]) << 24);                \
}

Definition at line 10 of file md5.cpp.

Referenced by md5_process().

#define P ( a,
b,
c,
d,
k,
s,
 ) 

Value:

{                                                       \
    a += F(b,c,d) + X[k] + t; a = S(a,s) + b;           \
}

Referenced by md5_process().

#define PUT_UINT32 ( n,
b,
 ) 

Value:

{                                                               \
    (((uint8 *) b)[(i)]  ) = (uint8) (((n)      ) & 0xFF);      \
    (((uint8 *) b)[(i)+1]) = (uint8) (((n) >>  8) & 0xFF);      \
    (((uint8 *) b)[(i)+2]) = (uint8) (((n) >> 16) & 0xFF);      \
    (((uint8 *) b)[(i)+3]) = (uint8) (((n) >> 24) & 0xFF);      \
}

Definition at line 18 of file md5.cpp.

Referenced by md5_finish().

#define S ( x,
 )     ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))


Function Documentation

void Getmd5Hash ( char *  buffer,
unsigned int  len,
unsigned char *  result 
)

Definition at line 226 of file md5.cpp.

References a, md5_finish(), md5_starts(), md5_update(), and snprintf.

Referenced by CreateDigestAuth().

Here is the call graph for this function:

void md5_finish ( struct md5_context ctx,
uint8  digest[16] 
)

Definition at line 204 of file md5.cpp.

References md5_padding, md5_update(), PUT_UINT32, md5_context::state, md5_context::total, uint32, and uint8.

Referenced by Getmd5Hash().

Here is the call graph for this function:

void md5_process ( struct md5_context ctx,
uint8  data[64] 
)

Definition at line 36 of file md5.cpp.

References A, B, C, D, GET_UINT32, P, md5_context::state, and uint32.

Referenced by md5_update().

void md5_starts ( struct md5_context ctx  ) 

Definition at line 26 of file md5.cpp.

References md5_context::state, and md5_context::total.

Referenced by Getmd5Hash().

void md5_update ( struct md5_context ctx,
uint8 input,
uint32  length 
)

Definition at line 159 of file md5.cpp.

References md5_context::buffer, md5_process(), md5_context::total, and uint32.

Referenced by Getmd5Hash(), and md5_finish().

Here is the call graph for this function:


Variable Documentation

uint8 md5_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
}

Definition at line 196 of file md5.cpp.

Referenced by md5_finish().


Generated on Sun Jan 18 00:32:04 2009 for Fast HTTP Vulnerability Scanner by  doxygen 1.5.4