Line | Count | Source (jump to first uncovered line) |
1 | | // hmac.h - originally written and placed in the public domain by Wei Dai |
2 | | |
3 | | /// \file hmac.h |
4 | | /// \brief Classes for HMAC message authentication codes |
5 | | |
6 | | #ifndef CRYPTOPP_HMAC_H |
7 | | #define CRYPTOPP_HMAC_H |
8 | | |
9 | | #include "seckey.h" |
10 | | #include "secblock.h" |
11 | | |
12 | | NAMESPACE_BEGIN(CryptoPP) |
13 | | |
14 | | /// \brief HMAC information |
15 | | /// \details HMAC_Base derives from VariableKeyLength and MessageAuthenticationCode |
16 | | /// \since Crypto++ 2.1 |
17 | | class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE HMAC_Base : public VariableKeyLength<16, 0, INT_MAX>, public MessageAuthenticationCode |
18 | | { |
19 | | public: |
20 | 4.53k | virtual ~HMAC_Base() {} |
21 | | |
22 | | /// \brief Construct a HMAC_Base |
23 | 4.53k | HMAC_Base() : m_innerHashKeyed(false) {} |
24 | | void UncheckedSetKey(const byte *userKey, unsigned int keylength, const NameValuePairs ¶ms); |
25 | | |
26 | | void Restart(); |
27 | | void Update(const byte *input, size_t length); |
28 | | void TruncatedFinal(byte *mac, size_t size); |
29 | 0 | unsigned int OptimalBlockSize() const {return const_cast<HMAC_Base*>(this)->AccessHash().OptimalBlockSize();} |
30 | 349k | unsigned int DigestSize() const {return const_cast<HMAC_Base*>(this)->AccessHash().DigestSize();} |
31 | | |
32 | | protected: |
33 | | virtual HashTransformation & AccessHash() =0; |
34 | 1.18M | byte * AccessIpad() {return m_buf;} |
35 | 674k | byte * AccessOpad() {return m_buf + AccessHash().BlockSize();} |
36 | 344k | byte * AccessInnerHash() {return m_buf + 2*AccessHash().BlockSize();} |
37 | | |
38 | | private: |
39 | | void KeyInnerHash(); |
40 | | |
41 | | SecByteBlock m_buf; |
42 | | bool m_innerHashKeyed; |
43 | | }; |
44 | | |
45 | | /// \brief HMAC |
46 | | /// \tparam T HashTransformation derived class |
47 | | /// \details HMAC derives from MessageAuthenticationCodeImpl. It calculates the HMAC using |
48 | | /// <tt>HMAC(K, text) = H(K XOR opad, H(K XOR ipad, text))</tt>. |
49 | | /// \sa <a href="http://www.weidai.com/scan-mirror/mac.html#HMAC">HMAC</a> |
50 | | /// \since Crypto++ 2.1 |
51 | | template <class T> |
52 | | class HMAC : public MessageAuthenticationCodeImpl<HMAC_Base, HMAC<T> > |
53 | | { |
54 | | public: |
55 | | CRYPTOPP_CONSTANT(DIGESTSIZE=T::DIGESTSIZE); |
56 | | CRYPTOPP_CONSTANT(BLOCKSIZE=T::BLOCKSIZE); |
57 | | |
58 | 4.53k | virtual ~HMAC() {} CryptoPP::HMAC<CryptoPP::SHA1>::~HMAC() Line | Count | Source | 58 | 218 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA224>::~HMAC() Line | Count | Source | 58 | 203 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA384>::~HMAC() Line | Count | Source | 58 | 210 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA512>::~HMAC() Line | Count | Source | 58 | 241 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHAKE128>::~HMAC() Line | Count | Source | 58 | 123 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHAKE256>::~HMAC() Line | Count | Source | 58 | 127 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD128>::~HMAC() Line | Count | Source | 58 | 127 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD160>::~HMAC() Line | Count | Source | 58 | 147 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD256>::~HMAC() Line | Count | Source | 58 | 101 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD320>::~HMAC() Line | Count | Source | 58 | 110 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Whirlpool>::~HMAC() Line | Count | Source | 58 | 188 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Weak1::MD2>::~HMAC() Line | Count | Source | 58 | 105 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Weak1::MD4>::~HMAC() Line | Count | Source | 58 | 202 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Weak1::MD5>::~HMAC() Line | Count | Source | 58 | 134 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SM3>::~HMAC() Line | Count | Source | 58 | 147 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::BLAKE2b>::~HMAC() Line | Count | Source | 58 | 150 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::BLAKE2s>::~HMAC() Line | Count | Source | 58 | 154 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Tiger>::~HMAC() Line | Count | Source | 58 | 105 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::~HMAC() Line | Count | Source | 58 | 79 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::~HMAC() Line | Count | Source | 58 | 121 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::~HMAC() Line | Count | Source | 58 | 99 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::~HMAC() Line | Count | Source | 58 | 171 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH224>::~HMAC() Line | Count | Source | 58 | 86 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH256>::~HMAC() Line | Count | Source | 58 | 88 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH384>::~HMAC() Line | Count | Source | 58 | 85 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH512>::~HMAC() Line | Count | Source | 58 | 80 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH512_256>::~HMAC() Line | Count | Source | 58 | 78 | virtual ~HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA256>::~HMAC() Line | Count | Source | 58 | 858 | virtual ~HMAC() {} |
|
59 | | |
60 | | /// \brief Construct a HMAC |
61 | 769 | HMAC() {} CryptoPP::HMAC<CryptoPP::SHA1>::HMAC() Line | Count | Source | 61 | 47 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA224>::HMAC() Line | Count | Source | 61 | 22 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA384>::HMAC() Line | Count | Source | 61 | 33 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHA512>::HMAC() Line | Count | Source | 61 | 53 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHAKE128>::HMAC() Line | Count | Source | 61 | 41 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::SHAKE256>::HMAC() Line | Count | Source | 61 | 49 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD128>::HMAC() Line | Count | Source | 61 | 14 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD160>::HMAC() Line | Count | Source | 61 | 24 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD256>::HMAC() Line | Count | Source | 61 | 22 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::RIPEMD320>::HMAC() Line | Count | Source | 61 | 30 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Whirlpool>::HMAC() Line | Count | Source | 61 | 61 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Weak1::MD2>::HMAC() Line | Count | Source | 61 | 15 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Weak1::MD4>::HMAC() Line | Count | Source | 61 | 20 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Weak1::MD5>::HMAC() Line | Count | Source | 61 | 15 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::SM3>::HMAC() Line | Count | Source | 61 | 30 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::BLAKE2b>::HMAC() Line | Count | Source | 61 | 25 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::BLAKE2s>::HMAC() Line | Count | Source | 61 | 52 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Tiger>::HMAC() Line | Count | Source | 61 | 15 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::HMAC() Line | Count | Source | 61 | 13 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::HMAC() Line | Count | Source | 61 | 14 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::HMAC() Line | Count | Source | 61 | 26 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::HMAC() Line | Count | Source | 61 | 68 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH224>::HMAC() Line | Count | Source | 61 | 15 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH256>::HMAC() Line | Count | Source | 61 | 17 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH384>::HMAC() Line | Count | Source | 61 | 19 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH512>::HMAC() Line | Count | Source | 61 | 18 | HMAC() {} |
CryptoPP::HMAC<CryptoPP::LSH512_256>::HMAC() Line | Count | Source | 61 | 11 | HMAC() {} |
Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA256>::HMAC() |
62 | | /// \brief Construct a HMAC |
63 | | /// \param key the HMAC key |
64 | | /// \param length the size of the HMAC key |
65 | | HMAC(const byte *key, size_t length=HMAC_Base::DEFAULT_KEYLENGTH) |
66 | 3.76k | {this->SetKey(key, length);} CryptoPP::HMAC<CryptoPP::SHA1>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 171 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SHA224>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 181 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SHA384>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 177 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SHA512>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 188 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SHAKE128>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 82 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SHAKE256>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 78 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::RIPEMD128>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 113 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::RIPEMD160>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 123 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::RIPEMD256>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 79 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::RIPEMD320>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 80 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Whirlpool>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 127 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Weak1::MD2>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 90 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Weak1::MD4>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 182 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Weak1::MD5>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 119 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SM3>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 117 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::BLAKE2b>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 125 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::BLAKE2s>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 102 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Tiger>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 90 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 66 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 107 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 73 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 103 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::LSH224>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 71 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::LSH256>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 71 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::LSH384>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 66 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::LSH512>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 62 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::LSH512_256>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 67 | {this->SetKey(key, length);} |
CryptoPP::HMAC<CryptoPP::SHA256>::HMAC(unsigned char const*, unsigned long) Line | Count | Source | 66 | 858 | {this->SetKey(key, length);} |
|
67 | | |
68 | 0 | static std::string StaticAlgorithmName() {return std::string("HMAC(") + T::StaticAlgorithmName() + ")";} Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA1>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA224>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA384>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA512>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHAKE128>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHAKE256>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD128>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD160>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD256>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD320>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Whirlpool>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD2>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD4>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD5>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SM3>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::BLAKE2b>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::BLAKE2s>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Tiger>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH224>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH256>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH384>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH512>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH512_256>::StaticAlgorithmName() Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA256>::StaticAlgorithmName() |
69 | 0 | std::string AlgorithmName() const {return std::string("HMAC(") + m_hash.AlgorithmName() + ")";} Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA1>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA224>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA384>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA512>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHAKE128>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHAKE256>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD128>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD160>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD256>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD320>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Whirlpool>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD2>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD4>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD5>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SM3>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::BLAKE2b>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::BLAKE2s>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Tiger>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH224>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH256>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH384>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH512>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH512_256>::AlgorithmName() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA256>::AlgorithmName() const |
70 | 0 | std::string AlgorithmProvider() const {return m_hash.AlgorithmProvider();} Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA1>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA224>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA384>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA512>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHAKE128>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHAKE256>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD128>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD160>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD256>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::RIPEMD320>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Whirlpool>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD2>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD4>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Weak1::MD5>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SM3>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::BLAKE2b>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::BLAKE2s>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Tiger>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH224>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH256>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH384>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH512>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::LSH512_256>::AlgorithmProvider() const Unexecuted instantiation: CryptoPP::HMAC<CryptoPP::SHA256>::AlgorithmProvider() const |
71 | | |
72 | | private: |
73 | 2.54M | HashTransformation & AccessHash() {return m_hash;} CryptoPP::HMAC<CryptoPP::SHA1>::AccessHash() Line | Count | Source | 73 | 153k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SHA224>::AccessHash() Line | Count | Source | 73 | 73.2k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SHA384>::AccessHash() Line | Count | Source | 73 | 91.3k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SHA512>::AccessHash() Line | Count | Source | 73 | 129k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SHAKE128>::AccessHash() Line | Count | Source | 73 | 67.8k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SHAKE256>::AccessHash() Line | Count | Source | 73 | 101k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::RIPEMD128>::AccessHash() Line | Count | Source | 73 | 88.2k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::RIPEMD160>::AccessHash() Line | Count | Source | 73 | 80.7k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::RIPEMD256>::AccessHash() Line | Count | Source | 73 | 54.3k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::RIPEMD320>::AccessHash() Line | Count | Source | 73 | 48.0k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Whirlpool>::AccessHash() Line | Count | Source | 73 | 107k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Weak1::MD2>::AccessHash() Line | Count | Source | 73 | 56.7k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Weak1::MD4>::AccessHash() Line | Count | Source | 73 | 106k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Weak1::MD5>::AccessHash() Line | Count | Source | 73 | 70.3k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SM3>::AccessHash() Line | Count | Source | 73 | 64.6k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::BLAKE2b>::AccessHash() Line | Count | Source | 73 | 71.8k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::BLAKE2s>::AccessHash() Line | Count | Source | 73 | 103k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Tiger>::AccessHash() Line | Count | Source | 73 | 55.4k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> >::AccessHash() Line | Count | Source | 73 | 44.6k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> >::AccessHash() Line | Count | Source | 73 | 69.4k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> >::AccessHash() Line | Count | Source | 73 | 62.3k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> >::AccessHash() Line | Count | Source | 73 | 125k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::LSH224>::AccessHash() Line | Count | Source | 73 | 50.0k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::LSH256>::AccessHash() Line | Count | Source | 73 | 46.6k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::LSH384>::AccessHash() Line | Count | Source | 73 | 65.3k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::LSH512>::AccessHash() Line | Count | Source | 73 | 58.0k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::LSH512_256>::AccessHash() Line | Count | Source | 73 | 49.1k | HashTransformation & AccessHash() {return m_hash;} |
CryptoPP::HMAC<CryptoPP::SHA256>::AccessHash() Line | Count | Source | 73 | 444k | HashTransformation & AccessHash() {return m_hash;} |
|
74 | | |
75 | | T m_hash; |
76 | | }; |
77 | | |
78 | | NAMESPACE_END |
79 | | |
80 | | #endif |