23 #ifndef ICL_CORE_CRYPT_SHA2_IMPL_H_INCLUDED 24 #define ICL_CORE_CRYPT_SHA2_IMPL_H_INCLUDED 51 template <
typename T, T t_h0, T t_h1, T t_h2, T t_h3, T t_h4, T t_h5, T t_h6, T t_h7,
size_t t_len>
104 template <u
int64_t t_h0, u
int64_t t_h1, u
int64_t t_h2, u
int64_t t_h3, u
int64_t t_h4, u
int64_t t_h5, u
int64_t t_h6, u
int64_t t_h7,
size_t t_len>
133 void finalizeBuffer(
size_t size);
size_t m_buffer_fill
The amount of bytes currently stored in the internal buffer.
uint8_t m_buffer[cMESSAGE_BLOCK_SIZE]
::icl_core::String getHexDigest() const
Returns the message digest as a hex string.
T m_digest[8]
The whole message digest.
uint64_t m_message_size
The size of the message so far, in bytes.
size_t m_buffer_fill
The amount of bytes currently stored in the internal buffer.
unsigned __int64 uint64_t
Sha2Impl()
Initializes the internal state.
static const size_t cMESSAGE_BLOCK_SIZE
The message block size in bytes.
void clear()
Clears the internal state. A new hash can then be calculated.
Contains Interface base classes and base types.
static const size_t cMESSAGE_PAD_POSITION
uint64_t m_message_size
The size of the message so far, in bytes.