MD4Hash Class Reference

An MD4 hash generator. More...

#include <md4.h>

List of all members.

Public Member Functions

 MD4Hash ()
 The default constructor.
 ~MD4Hash ()
 The destructor.
int Process (const void *_data, size_t _length)
 Runs an MD4 hash on the data provided.
int Process (CrissCross::IO::CoreIOReader *_reader)
 Runs a hash on the file provided.
int ProcessBlock (const void *_data, size_t _length)
 Processes a piece of the dataset.
void Finalize ()
 Finalizes the ProcessBlock() calls and generates the final hash value.
void Reset ()
 Resets the internal MD4 context and hash buffer.
const char * ToString () const
 Converts the internal hash data into an hex string, a human readable format.
bool operator== (const MD4Hash &_other) const
 Equality operator.
bool operator!= (const MD4Hash &_other) const
 Inequality operator.


Detailed Description

An MD4 hash generator.

MD4 hashes are rarely used anymore due to the advent of MD5. MD5 was created because several speculated that MD4 was vulnerable to collisions (that is, two different sets of initialization vectors could result in the same hash). However, MD5 has proven no more secure than MD4 in the long run, and an MD4 hash is generally faster to generate than an MD5 hash.

Warning:
Because of popular belief that MD4 is less secure than MD5, use at your own risk!
See also:
Hash MD2Hash MD5Hash

Member Function Documentation

bool operator!= ( const MD4Hash _other  )  const [inline]

Inequality operator.

Compares two instances of MD4Hash to see if the hashes are not equal.

Parameters:
_other The other instance of MD4Hash to compare to.

bool operator== ( const MD4Hash _other  )  const

Equality operator.

Compares two instances of MD4Hash to see if the hashes are equal.

Parameters:
_other The other instance of MD4Hash to compare to.

int Process ( CrissCross::IO::CoreIOReader _reader  ) 

Runs a hash on the file provided.

Parameters:
_reader The pre-opened CoreIOReader to run the hash on.
Returns:
Zero on success, nonzero on failure.

int Process ( const void *  _data,
size_t  _length 
)

Runs an MD4 hash on the data provided.

Parameters:
_data The data to hash. The buffer does not need to be null terminated.
_length The data length in bytes.
Returns:
Zero on success, nonzero on failure.

int ProcessBlock ( const void *  _data,
size_t  _length 
)

Processes a piece of the dataset.

This function will process only a segment of a larger dataset. It is designed to be called multiple times before an eventual Finalize() call.

Parameters:
_data The data segment to hash.
_length The length of the data segment in bytes.

const char* ToString (  )  const

Converts the internal hash data into an hex string, a human readable format.

The memory location returned by this function is freed when the class is destructed.


Generated on Sun Feb 8 11:09:59 2009 for CrissCross by  doxygen 1.5.8