|
| | SHA2 () |
| |
| virtual | ~SHA2 () |
| |
| virtual const std::array< uint8_t, O > & | digest () const override |
| |
| template<class CharT , class Traits , class Allocator > |
| const std::array< uint8_t, O > & | digest (const std::basic_string< CharT, Traits, Allocator > &data) |
| |
| template<std::size_t N> |
| const std::array< uint8_t, O > & | digest (const std::array< uint8_t, N > &data) |
| |
| const std::array< uint8_t, O > & | digest (const uint8_t *data, std::size_t len) |
| |
| template<class CharT , class Traits > |
| const std::array< uint8_t, O > & | digest (std::basic_istream< CharT, Traits > &stream) |
| |
template<std::size_t O, std::size_t B, typename W, uint32_t R, const std::array< W, 8 > & I>
class anch::crypto::SHA2< O, B, W, R, I >
SHA2 abstract class.
SHA2 contains algorithms for SHA224/256/384/512.
The children have to define the translation array and the sigma transformation functions.
The template parameters are:
- O: the output size in byte
- B: the treatment block size in byte
- W: the word type (32 bits or 64 bits)
- R: the number of round for each chunk
- I: the initial state
SHA224/256/384/512 are implemented in this library.
- Since
- 0.1
- Author
- Vincent Lachenal