#include <md5.h>
Public Member Functions | |
| MD5Hash () | |
| The default constructor. | |
| ~MD5Hash () | |
| The destructor. | |
| int | Process (const void *_data, size_t _length) |
| Runs an MD5 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 MD5 context and hash buffer. | |
| const char * | ToString () const |
| Converts the internal hash data into an hex string, a human readable format. | |
| bool | operator== (const MD5Hash &_other) const |
| Equality operator. | |
| bool | operator!= (const MD5Hash &_other) const |
| Inequality operator. | |
In recent years, MD5 hashes have waned in popularity because researchers have found that collisions for MD5 are easy to generate. However, this sort of attack can be rendered useless when a salt is added to the input dataset.
| bool operator!= | ( | const MD5Hash & | _other | ) | const [inline] |
| bool operator== | ( | const MD5Hash & | _other | ) | const |
| int Process | ( | CrissCross::IO::CoreIOReader * | _reader | ) |
Runs a hash on the file provided.
| _reader | The pre-opened CoreIOReader to run the hash on. |
| int Process | ( | const void * | _data, | |
| size_t | _length | |||
| ) |
Runs an MD5 hash on the data provided.
| _data | The data to hash. The buffer does not need to be null terminated. | |
| _length | The data length in bytes. |
| 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.
| _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.
1.5.8