5 #ifndef _INC_cHashMD5_H
6 #define _INC_cHashMD5_H
31 put_HexDigest(pszHexDigest);
34 static size_t GRAYCALL ComputeHash(BYTE pOutput[16],
const void* pInput,
size_t nSize);
37 ComputeHash(m_Data, pInput, nInputSize);
42 if (pszString ==
nullptr)
44 ComputeHash(m_Data, pszString,
StrT::Len(pszString));
47 static size_t GRAYCALL ComputeHmac(BYTE pOutput[16],
const BYTE* pKey,
size_t nKeySize,
const void* pInput,
size_t nSize);
48 void SetHmacFrom(
const BYTE* pKey,
size_t nKeySize,
const void* pInput,
size_t nInputSize)
50 ComputeHmac(m_Data, pKey, nKeySize, pInput, nInputSize);
64 static const size_t k_HashSize = 16;
88 virtual void ResetHash()
override;
89 virtual void ProcessHashBuffer(
const BYTE pBuffer[64])
override;
90 virtual void AddToHash(
const void* pInput,
size_t nSize)
override;
91 virtual size_t FinalizeHash(BYTE* pOutput)
override;
94 virtual void InitHmac(
const BYTE* pKey,
size_t nKeySize)
override;
95 virtual size_t FinalizeHmac(BYTE pOutput[16])
override;
96 virtual void ResetHmac()
override;
112 virtual size_t ComputeHash(BYTE* pOutput,
const BYTE* pInput,
size_t nInputSize)
const override
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
Definition: cHashBase.h:20
Definition: cHashCode.h:167
Definition: cHashMD5.h:57
cHashMD5Builder() noexcept
Definition: cHashMD5.h:74
virtual ~cHashMD5Builder() noexcept
Definition: cHashMD5.h:81
Definition: cHashMD5.h:18
cHashMD5() noexcept
Definition: cHashMD5.h:27
static size_t GRAYCALL ComputeHash(BYTE pOutput[16], const void *pInput, size_t nSize)
Definition: cHashMD5.cpp:14
void SetHashFromStr(const char *pszString)
Definition: cHashMD5.h:39
cHashMD5(const char *pszHexDigest)
Definition: cHashMD5.h:29
UNITTEST_FRIEND(cHashMD5)
void SetHmacFrom(const BYTE *pKey, size_t nKeySize, const void *pInput, size_t nInputSize)
Definition: cHashMD5.h:48
void SetHashFrom(const void *pInput, size_t nInputSize)
Definition: cHashMD5.h:35
Definition: cHashTypeDef.h:21
Definition: cHashMD5.h:100
virtual cHashBase * AllocHash(void) const override
Definition: cHashMD5.h:108
cHashTypeMD5() noexcept
Definition: cHashMD5.h:104
virtual size_t ComputeHash(BYTE *pOutput, const BYTE *pInput, size_t nInputSize) const override
Definition: cHashMD5.h:112
UNITTEST2_PREDEF(cQuadtree)
@ SSL_Hash_MD5
Definition: cHashCode.h:31
static StrLen_t Len(const TYPE *pszStr) noexcept
static void Zero(void *pData, size_t nSizeBlock) noexcept
Definition: cMem.h:100
static void ZeroSecure(void *pData, size_t nSizeBlock) noexcept
Definition: cMem.h:110