6 #ifndef _INC_cHashBase_H
7 #define _INC_cHashBase_H
25 static const BYTE k_Padding[128];
26 static const size_t k_HashSizeMax = 64;
44 virtual void AddToHash(
const void* pInput,
size_t nInputSize) = 0;
49 size_t ComputeHash(BYTE* pOutput,
const void* pInput,
size_t nInputSize)
52 AddToHash(pInput, nInputSize);
53 return FinalizeHash(pOutput);
56 virtual void InitHmac(
const BYTE* pKey,
size_t nKeySize)
76 size_t ComputeHmac(BYTE* pOutput,
const BYTE* pKey,
size_t nKeySize,
const void* pInput,
size_t nInputSize)
79 InitHmac(pKey, nKeySize);
80 AddToHash(pInput, nInputSize);
81 return FinalizeHmac(pOutput);
90 StrLen_t AddToHashFromStr(
const char* pszStr);
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define UNREFERENCED_PARAMETER(P)
< _WIN32 type thing. get rid of stupid warning.
Definition: SysTypes.h:299
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cHashBase.h:20
virtual size_t FinalizeHash(OUT BYTE *pOutput)=0
Digest finalization function.
size_t ComputeHmac(BYTE *pOutput, const BYTE *pKey, size_t nKeySize, const void *pInput, size_t nInputSize)
Definition: cHashBase.h:76
virtual void AddToHash(const void *pInput, size_t nInputSize)=0
Digest update function.
size_t ComputeHash(BYTE *pOutput, const void *pInput, size_t nInputSize)
Definition: cHashBase.h:49
virtual ~cHashBase()
Definition: cHashBase.h:29
void AddToHashFromBlock(const cHeapBlock &m)
Helpers.
Definition: cHashBase.h:85
virtual void InitHmac(const BYTE *pKey, size_t nKeySize)
Definition: cHashBase.h:56
virtual void ResetHash()=0
virtual void ProcessHashBuffer(const BYTE *pBuffer)
Definition: cHashBase.h:36
virtual void ResetHmac()
Definition: cHashBase.h:70
virtual size_t FinalizeHmac(OUT BYTE *pOutput)
HMAC finalization function.
Definition: cHashBase.h:64
void * get_Data() const noexcept
Definition: cHeap.h:363
size_t get_DataSize() const noexcept
Definition: cMem.h:344
cMemBlock cHashTestData
Definition: cHashBase.h:98
cMemBlock cHashTestKey
Definition: cHashBase.h:99
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22
Definition: cStreamProgress.h:168