Multi-pass MD5 hash generator.
More...
|
void | init (void) noexcept |
| Initialize the MD5 hasher.
|
|
void | process (const uint8_t pBlock[64]) noexcept |
| Process a single 64 byte block of data.
|
|
void | process (const void *pInput, uintptr_t uLength) noexcept |
| Process an arbitrary number of input bytes.
|
|
void | finalize (void) noexcept |
| Finalize the hashing.
|
|
Multi-pass MD5 hash generator.
This structure is needed to perform a multi-pass MD5 hash and contains cached data and a running checksum.
Context.
process(Buffer1,
sizeof(Buffer1));
Context.
process(Buffer2,
sizeof(Buffer2));
Context.
process(Buffer3,
sizeof(Buffer3));
void MemoryCopy(void *pOutput, const void *pInput, uintptr_t uCount) noexcept
Copy raw memory from one buffer to another.
Definition brmemoryfunctions.cpp:186
Multi-pass MD5 hash generator.
Definition burger.h:7263
void process(const uint8_t pBlock[64]) noexcept
Process a single 64 byte block of data.
Definition brmd5.cpp:137
void init(void) noexcept
Initialize the MD5 hasher.
Definition brmd5.cpp:71
void finalize(void) noexcept
Finalize the hashing.
Definition brmd5.cpp:316
MD5_t m_Hash
Current 128 bit value.
Definition burger.h:7266
- See also
- MD5_t or hash(MD5_t *,const void *,uintptr_t)
◆ finalize()
void BURGER_API Burger::MD5Hasher_t::finalize |
( |
void | | ) |
|
|
noexcept |
Finalize the hashing.
When multi-pass hashing is performed, this call is necessary to finalize the hash so that the generated checksum can be applied into the hash
- See also
- init(void), process(const void *,uintptr_t)
◆ init()
void BURGER_API Burger::MD5Hasher_t::init |
( |
void | | ) |
|
|
noexcept |
◆ process() [1/2]
void BURGER_API Burger::MD5Hasher_t::process |
( |
const uint8_t | pBlock[64] | ) |
|
|
noexcept |
Process a single 64 byte block of data.
MD5 data is processed in 64 byte chunks. This function will process 64 bytes on input and update the hash and checksum
- Parameters
-
pBlock | Pointer to a buffer of 64 bytes of data to hash |
- See also
- process(const void *,uintptr_t), finalize(void) or init(void)
◆ process() [2/2]
void BURGER_API Burger::MD5Hasher_t::process |
( |
const void * | pInput, |
|
|
uintptr_t | uLength ) |
|
noexcept |
Process an arbitrary number of input bytes.
Process input data into the hash. If data chunks are not a multiple of 64 bytes, the excess will be cached and a future call will continue the hashing where it left off.
- Parameters
-
pInput | Pointer to a buffer of data to hash |
uLength | Number of bytes to hash |
- See also
- process(const uint8_t[64]), finalize(void)
◆ m_CacheBuffer
uint8_t Burger::MD5Hasher_t::m_CacheBuffer[64] |
Input buffer for processing.
◆ m_Hash
MD5_t Burger::MD5Hasher_t::m_Hash |
◆ m_uByteCount
uint64_t Burger::MD5Hasher_t::m_uByteCount |
Number of bytes processed (64 bit value)