15 typedef unsigned __int8 uint8_t;
16 typedef unsigned __int32 uint32_t;
17 typedef unsigned __int64 uint64_t;
43 enum { BlockSize = 512 / 8, HashBytes = 16 };
49 std::string
operator()(
const void* data,
size_t numBytes);
51 std::string
operator()(
const std::string& text);
54 void add(
const void* data,
size_t numBytes);
59 void getHash(
unsigned char buffer[MD5::HashBytes]);
66 void processBlock(
const void* data);
75 uint8_t m_buffer[BlockSize];
77 enum { HashValues = HashBytes / 4 };
79 uint32_t m_hash[HashValues];
void add(const void *data, size_t numBytes)
add arbitrary number of bytes
Definition: md5.cpp:212
MD5()
same as reset()
Definition: md5.cpp:17
std::string getHash()
return latest hash as 32 hex characters
Definition: md5.cpp:322
compute MD5 hash
Definition: md5.h:39
std::string operator()(const void *data, size_t numBytes)
compute MD5 of a memory block
Definition: md5.cpp:368
void reset()
restart
Definition: md5.cpp:24