6 #ifndef CRYPTOPP_HMAC_H 7 #define CRYPTOPP_HMAC_H 22 void UncheckedSetKey(
const byte *userKey,
unsigned int keylength,
const NameValuePairs ¶ms);
25 void Update(
const byte *input,
size_t length);
26 void TruncatedFinal(
byte *mac,
size_t size);
61 HMAC(
const byte *key,
size_t length=HMAC_Base::DEFAULT_KEYLENGTH)
62 {this->
SetKey(key, length);}
64 static std::string
StaticAlgorithmName() {
return std::string(
"HMAC(") + T::StaticAlgorithmName() +
")";}
Interface for message authentication codes.
HMAC_Base()
Construct a HMAC_Base.
virtual void SetKey(const byte *key, size_t length, const NameValuePairs ¶ms=g_nullNameValuePairs)
Sets or reset the key of this object.
static std::string StaticAlgorithmName()
#define NAMESPACE_BEGIN(x)
Classes and functions for secure memory allocations.
HashTransformation & AccessHash()
unsigned int DigestSize() const
Provides the digest size of the hash.
Classes and functions for implementing secret key algorithms.
HMAC(const byte *key, size_t length=HMAC_Base::DEFAULT_KEYLENGTH)
Construct a HMAC.
Provides a base implementation of Algorithm and SimpleKeyingInterface for message authentication code...
#define CRYPTOPP_CONSTANT(x)
Inherited by keyed algorithms with variable key length.
#define CRYPTOPP_NO_VTABLE
uint8_t const size_t const size
std::string AlgorithmName() const
Provides the name of this algorithm.
Interface for retrieving values given their names.
unsigned int OptimalBlockSize() const
Provides the input block size most efficient for this hash.