Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes

MD5 Class Reference

#include <md5.hpp>

List of all members.

Public Member Functions

 MD5 ()
void update (boost::uint8_t *input, boost::uint32_t input_length)
void finalize ()
boost::uint8_t * raw_digest ()

Private Types

typedef boost::uint32_t uint4
typedef boost::uint16_t uint2
typedef boost::uint8_t uint1

Private Member Functions

void init ()
void transform (uint1 buffer[64])

Static Private Member Functions

static void encode (uint1 *dest, uint4 *src, uint4 length)
static void decode (uint4 *dest, uint1 *src, uint4 length)
static uint4 rotate_left (uint4 x, uint4 n)
static uint4 F (uint4 x, uint4 y, uint4 z)
static uint4 G (uint4 x, uint4 y, uint4 z)
static uint4 H (uint4 x, uint4 y, uint4 z)
static uint4 I (uint4 x, uint4 y, uint4 z)
static void FF (uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac)
static void GG (uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac)
static void HH (uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac)
static void II (uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac)

Private Attributes

uint4 state [4]
uint4 count [2]
uint1 buffer [64]
uint1 digest [16]
uint1 finalized

Detailed Description

Definition at line 47 of file md5.hpp.


Member Typedef Documentation

typedef boost::uint8_t MD5::uint1 [private]

Definition at line 64 of file md5.hpp.

typedef boost::uint16_t MD5::uint2 [private]

Definition at line 63 of file md5.hpp.

typedef boost::uint32_t MD5::uint4 [private]

Definition at line 62 of file md5.hpp.


Constructor & Destructor Documentation

MD5::MD5 (  ) 

Definition at line 61 of file md5.cpp.

References init().

Here is the call graph for this function:


Member Function Documentation

void MD5::decode ( uint4 dest,
uint1 src,
uint4  length 
) [static, private]

Definition at line 327 of file md5.cpp.

Referenced by transform().

Here is the caller graph for this function:

void MD5::encode ( uint1 dest,
uint4 src,
uint4  length 
) [static, private]

Definition at line 310 of file md5.cpp.

Referenced by finalize().

Here is the caller graph for this function:

MD5::uint4 MD5::F ( uint4  x,
uint4  y,
uint4  z 
) [inline, static, private]

Definition at line 352 of file md5.cpp.

Referenced by FF().

Here is the caller graph for this function:

void MD5::FF ( uint4 a,
uint4  b,
uint4  c,
uint4  d,
uint4  x,
uint4  s,
uint4  ac 
) [inline, static, private]

Definition at line 374 of file md5.cpp.

References F(), and rotate_left().

Referenced by transform().

Here is the call graph for this function:

Here is the caller graph for this function:

void MD5::finalize (  ) 

Definition at line 122 of file md5.cpp.

References buffer, count, digest, encode(), finalized, state, and update().

Here is the call graph for this function:

MD5::uint4 MD5::G ( uint4  x,
uint4  y,
uint4  z 
) [inline, static, private]

Definition at line 356 of file md5.cpp.

Referenced by GG().

Here is the caller graph for this function:

void MD5::GG ( uint4 a,
uint4  b,
uint4  c,
uint4  d,
uint4  x,
uint4  s,
uint4  ac 
) [inline, static, private]

Definition at line 380 of file md5.cpp.

References G(), and rotate_left().

Referenced by transform().

Here is the call graph for this function:

Here is the caller graph for this function:

MD5::uint4 MD5::H ( uint4  x,
uint4  y,
uint4  z 
) [inline, static, private]

Definition at line 360 of file md5.cpp.

Referenced by HH().

Here is the caller graph for this function:

void MD5::HH ( uint4 a,
uint4  b,
uint4  c,
uint4  d,
uint4  x,
uint4  s,
uint4  ac 
) [inline, static, private]

Definition at line 386 of file md5.cpp.

References H(), and rotate_left().

Referenced by transform().

Here is the call graph for this function:

Here is the caller graph for this function:

MD5::uint4 MD5::I ( uint4  x,
uint4  y,
uint4  z 
) [inline, static, private]

Definition at line 364 of file md5.cpp.

Referenced by II().

Here is the caller graph for this function:

void MD5::II ( uint4 a,
uint4  b,
uint4  c,
uint4  d,
uint4  x,
uint4  s,
uint4  ac 
) [inline, static, private]

Definition at line 392 of file md5.cpp.

References I(), and rotate_left().

Referenced by transform().

Here is the call graph for this function:

Here is the caller graph for this function:

void MD5::init (  )  [private]

Definition at line 175 of file md5.cpp.

References count, finalized, and state.

Referenced by MD5().

Here is the caller graph for this function:

MD5::uint1 * MD5::raw_digest (  ) 

Definition at line 159 of file md5.cpp.

References digest, and finalized.

MD5::uint4 MD5::rotate_left ( uint4  x,
uint4  n 
) [inline, static, private]

Definition at line 343 of file md5.cpp.

Referenced by FF(), GG(), HH(), and II().

Here is the caller graph for this function:

void MD5::transform ( uint1  buffer[64]  )  [private]

Definition at line 216 of file md5.cpp.

References decode(), FF(), finalized, GG(), HH(), II(), S11, S12, S13, S14, S21, S22, S23, S24, S31, S32, S33, S34, S41, S42, S43, S44, and state.

Here is the call graph for this function:

void MD5::update ( boost::uint8_t *  input,
boost::uint32_t  input_length 
)

Referenced by finalize().

Here is the caller graph for this function:


Member Data Documentation

uint1 MD5::buffer[64] [private]

Definition at line 69 of file md5.hpp.

Referenced by finalize().

uint4 MD5::count[2] [private]

Definition at line 68 of file md5.hpp.

Referenced by finalize(), and init().

uint1 MD5::digest[16] [private]

Definition at line 70 of file md5.hpp.

Referenced by finalize(), and raw_digest().

uint1 MD5::finalized [private]

Definition at line 71 of file md5.hpp.

Referenced by finalize(), init(), raw_digest(), and transform().

uint4 MD5::state[4] [private]

Definition at line 67 of file md5.hpp.

Referenced by finalize(), init(), and transform().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by doxygen 1.7.1 on Wed May 23 2012 01:13:58 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs