Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
SkyFire::Impl::GenericHMAC< HashCreator, DigestLength > Class Template Reference

#include <HMAC.h>

Public Types

using Digest = std::array<uint8, DIGEST_LENGTH>

Public Member Functions

void Finalize ()
template<typename Container>
 GenericHMAC (Container const &container)
 GenericHMAC (uint8 const *seed, size_t len)
Digest const & GetDigest () const
void UpdateData (char const *str)
template<typename Container>
void UpdateData (Container const &c)
void UpdateData (std::string const &str)
void UpdateData (std::string_view str)
void UpdateData (uint8 const *data, size_t len)
 ~GenericHMAC ()

Static Public Member Functions

template<typename Container, typename... Ts>
static auto GetDigestOf (Container const &seed, Ts &&... pack) -> std::enable_if_t<!(std::is_integral_v< std::decay_t< Ts > >||...), Digest >
template<typename Container>
static Digest GetDigestOf (Container const &seed, uint8 const *data, size_t len)

Static Public Attributes

static constexpr size_t DIGEST_LENGTH = DigestLength

Private Attributes

EVP_MAC_CTX * _ctx
Digest _digest = { }
EVP_MAC * _mac
OSSL_PARAM _params [2] = { OSSL_PARAM_construct_utf8_string("digest", const_cast<char*>("SHA1"), 0), OSSL_PARAM_construct_end() }

Detailed Description

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
class SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >

Definition at line 33 of file HMAC.h.

Member Typedef Documentation

◆ Digest

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
using SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::Digest = std::array<uint8, DIGEST_LENGTH>

Definition at line 37 of file HMAC.h.

Constructor & Destructor Documentation

◆ GenericHMAC() [1/2]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::GenericHMAC ( uint8 const * seed,
size_t len )
inline

Definition at line 57 of file HMAC.h.

◆ GenericHMAC() [2/2]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
template<typename Container>
SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::GenericHMAC ( Container const & container)
inline

Definition at line 63 of file HMAC.h.

◆ ~GenericHMAC()

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::~GenericHMAC ( )
inline

Definition at line 65 of file HMAC.h.

Member Function Documentation

◆ Finalize()

◆ GetDigest()

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
Digest const & SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::GetDigest ( ) const
inline

◆ GetDigestOf() [1/2]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
template<typename Container, typename... Ts>
auto SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::GetDigestOf ( Container const & seed,
Ts &&... pack ) -> std::enable_if_t<!(std::is_integral_v< std::decay_t< Ts > >||...), Digest >
inlinestatic

Definition at line 49 of file HMAC.h.

◆ GetDigestOf() [2/2]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
template<typename Container>
Digest SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::GetDigestOf ( Container const & seed,
uint8 const * data,
size_t len )
inlinestatic

Definition at line 40 of file HMAC.h.

◆ UpdateData() [1/5]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
void SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::UpdateData ( char const * str)
inline

◆ UpdateData() [2/5]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
template<typename Container>
void SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::UpdateData ( Container const & c)
inline

◆ UpdateData() [3/5]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
void SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::UpdateData ( std::string const & str)
inline

◆ UpdateData() [4/5]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
void SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::UpdateData ( std::string_view str)
inline

◆ UpdateData() [5/5]

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
void SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::UpdateData ( uint8 const * data,
size_t len )
inline

Member Data Documentation

◆ _ctx

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
EVP_MAC_CTX* SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::_ctx
private

Definition at line 101 of file HMAC.h.

◆ _digest

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
Digest SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::_digest = { }
private

Definition at line 102 of file HMAC.h.

◆ _mac

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
EVP_MAC* SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::_mac
private

Definition at line 100 of file HMAC.h.

◆ _params

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
OSSL_PARAM SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::_params[2] = { OSSL_PARAM_construct_utf8_string("digest", const_cast<char*>("SHA1"), 0), OSSL_PARAM_construct_end() }
private

Definition at line 103 of file HMAC.h.

◆ DIGEST_LENGTH

template<HMACImpl::HashCreator HashCreator, size_t DigestLength>
size_t SkyFire::Impl::GenericHMAC< HashCreator, DigestLength >::DIGEST_LENGTH = DigestLength
staticconstexpr

Definition at line 36 of file HMAC.h.


The documentation for this class was generated from the following file:
  • src/server/shared/Cryptography/HMAC.h