11#include <botan/hash.h>
21 void clear()
override;
22 std::string
name()
const override;
23 std::unique_ptr<MessageAuthenticationCode>
new_object()
const override;
34 explicit HMAC(std::unique_ptr<HashFunction> hash);
40 void add_data(std::span<const uint8_t>)
override;
41 void final_result(std::span<uint8_t>)
override;
42 void key_schedule(std::span<const uint8_t>)
override;
44 std::unique_ptr<HashFunction> m_hash;
46 size_t m_hash_output_length;
47 size_t m_hash_block_size;
bool has_keying_material() const override
size_t output_length() const override
HMAC(const HMAC &)=delete
std::string name() const override
std::unique_ptr< MessageAuthenticationCode > new_object() const override
HMAC & operator=(const HMAC &)=delete
Key_Length_Specification key_spec() const override
HMAC(std::unique_ptr< HashFunction > hash)
int(* final)(unsigned char *, CTX *)
std::vector< T, secure_allocator< T > > secure_vector