template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
class icl_core::crypt::Sha2Impl< uint64_t, t_h0, t_h1, t_h2, t_h3, t_h4, t_h5, t_h6, t_h7, t_len >
Template specialization for SHA-2 implementation internals for 64-bit word size.
- Template Parameters
-
t_h0 | The initial hash value, word 0. |
t_h1 | The initial hash value, word 1. |
t_h2 | The initial hash value, word 2. |
t_h3 | The initial hash value, word 3. |
t_h4 | The initial hash value, word 4. |
t_h5 | The initial hash value, word 5. |
t_h6 | The initial hash value, word 6. |
t_h7 | The initial hash value, word 7. |
t_len | The length, in words, of the message digest. This may be at most 8 (i.e., all eight words of the digest are used). Only the first t_len words of the digest are returned otherwise. |
Definition at line 105 of file Sha2Impl.h.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
Initializes the internal state.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
Clears the internal state. A new hash can then be calculated.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
Processes the first size bytes of the current buffer contents and finalizes the digest.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
Returns the message digest as a hex string.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
Processes the current buffer contents and adds them to the message digest.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
The message block size in bytes.
Definition at line 109 of file Sha2Impl.h.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
The position up to which the last block is padded (the remaining bytes hold the message length).
Definition at line 113 of file Sha2Impl.h.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
The internal message buffer. Stores the data for one message block.
Definition at line 142 of file Sha2Impl.h.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
The amount of bytes currently stored in the internal buffer.
Definition at line 144 of file Sha2Impl.h.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
The whole message digest.
Definition at line 136 of file Sha2Impl.h.
template<uint64_t t_h0, uint64_t t_h1, uint64_t t_h2, uint64_t t_h3, uint64_t t_h4, uint64_t t_h5, uint64_t t_h6, uint64_t t_h7, size_t t_len>
The size of the message so far, in bytes.
Definition at line 138 of file Sha2Impl.h.