37 template<std::
size_t O, std::
size_t B>
51 virtual const std::array<uint8_t,O>&
digest()
const = 0;
60 const std::array<uint8_t,O>&
digest(
const std::string& data);
69 template<std::
size_t N>
70 const std::array<uint8_t,O>&
digest(
const std::array<uint8_t,N>& data);
80 const std::array<uint8_t,O>&
digest(
const uint8_t* data, std::size_t len);
89 const std::array<uint8_t,O>&
digest(std::istream& stream);
103 virtual void addData(
const uint8_t* data, std::size_t len) = 0;
146template<std::
size_t O, std::
size_t B>
150#include "crypto/hash/impl/hash.hpp"
Hash algorithm abstract class.
Definition hash.hpp:38
static constexpr std::size_t getBlockSize()
Definition hash.hpp:128
const std::array< uint8_t, O > & digest(const std::string &data)
virtual const std::array< uint8_t, O > & digest() const =0
virtual void addData(const uint8_t *data, std::size_t len)=0
virtual void finalize()=0
const std::array< uint8_t, O > & digest(const uint8_t *data, std::size_t len)
const std::array< uint8_t, O > & digest(std::istream &stream)
const std::array< uint8_t, O > & digest(const std::array< uint8_t, N > &data)
static constexpr std::size_t getOutputSize()
Definition hash.hpp:119
std::array< uint8_t, O > * _digest
Definition hash.hpp:42
Cryptography namespace.
Definition base64.hpp:28