Main Page | Class List | File List | Class Members | File Members

md5.c File Reference

#include "md5.h"

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))

Functions

void md5_starts (md5_context *ctx)
void md5_process (md5_context *ctx, uint8 data[64])
void md5_update (md5_context *ctx, uint8 *input, uint32 length)
void md5_finish (md5_context *ctx, uint8 digest[16])
void md5 (char *result, char *data)


Define Documentation

#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)))
 

#define GET_UINT32 n,
b,
 ) 
 

Value:

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

Definition at line 26 of file md5.c.

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:

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

Definition at line 34 of file md5.c.

Referenced by md5_finish().

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


Function Documentation

void md5 char *  result,
char *  data
 

Definition at line 248 of file md5.c.

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

Referenced by process_rss().

void md5_finish md5_context ctx,
uint8  digest[16]
 

Definition at line 223 of file md5.c.

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

Referenced by md5().

void md5_process md5_context ctx,
uint8  data[64]
 

Definition at line 53 of file md5.c.

References GET_UINT32, P, md5_context::state, and uint32.

Referenced by md5_update().

void md5_starts md5_context ctx  ) 
 

Definition at line 42 of file md5.c.

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

Referenced by md5().

void md5_update md5_context ctx,
uint8 *  input,
uint32  length
 

Definition at line 176 of file md5.c.

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

Referenced by md5(), and md5_finish().


Generated on Fri May 26 08:40:18 2006 for RSSbgr by doxygen 1.3.6