Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cCRC32Builder Class Reference

#include <cCRC.h>

Inheritance diagram for GrayLib::cCRC32Builder:
GrayLib::cHashBase Gray::CObject

Public Member Functions

 cCRC32Builder (CRC32_t nStart=cCRC32Table::k_nStart) noexcept
 
virtual ~cCRC32Builder () noexcept
 
virtual void ResetHash () override
 
virtual void AddToHash (const void *pInput, size_t nInputSize) override
 Digest update function. More...
 
virtual size_t FinalizeHash (OUT BYTE *pOutput) override
 Digest finalization function. More...
 
- Public Member Functions inherited from GrayLib::cHashBase
virtual ~cHashBase ()
 
virtual void ProcessHashBuffer (const BYTE *pBuffer)
 
size_t ComputeHash (BYTE *pOutput, const void *pInput, size_t nInputSize)
 
virtual void InitHmac (const BYTE *pKey, size_t nKeySize)
 
virtual size_t FinalizeHmac (OUT BYTE *pOutput)
 HMAC finalization function. More...
 
virtual void ResetHmac ()
 
size_t ComputeHmac (BYTE *pOutput, const BYTE *pKey, size_t nKeySize, const void *pInput, size_t nInputSize)
 
void AddToHashFromBlock (const cHeapBlock &m)
 Helpers. More...
 
StrLen_t AddToHashFromStr (const char *pszStr)
 
HRESULT AddToHashFromStream (cStreamInput &file, IStreamProgressCallback *pProgress=nullptr)
 
HRESULT AddToHashFromFile (const FILECHAR_t *pszFileName, IStreamProgressCallback *pProgress=nullptr)
 
HRESULT ComputeHashFromStream (OUT BYTE *pOutput, cStreamInput &fin, IStreamProgressCallback *pProgress=nullptr)
 
HRESULT ComputeHashFromFile (OUT BYTE *pOutput, const FILECHAR_t *pszFileName, IStreamProgressCallback *pProgress=nullptr)
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual bool isValidCheck () const noexcept
 < memory allocation and structure definitions are valid. More...
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 

Public Attributes

CRC32_t m_HashVal
 

Additional Inherited Members

- Static Public Attributes inherited from GrayLib::cHashBase
static const BYTE k_Padding [128]
 0x80 followed by zeros. More...
 
static const size_t k_HashSizeMax = 64
 Largest hash k_HashSize that we support. in bytes. More...
 

Detailed Description

builder for a 32 bit CRC.

Constructor & Destructor Documentation

◆ cCRC32Builder()

GrayLib::cCRC32Builder::cCRC32Builder ( CRC32_t  nStart = cCRC32Table::k_nStart)
inlinenoexcept

◆ ~cCRC32Builder()

virtual GrayLib::cCRC32Builder::~cCRC32Builder ( )
inlinevirtualnoexcept

Member Function Documentation

◆ AddToHash()

void GrayLib::cCRC32Builder::AddToHash ( const void *  pInput,
size_t  nInputSize 
)
overridevirtual

Digest update function.

Implements GrayLib::cHashBase.

◆ FinalizeHash()

size_t GrayLib::cCRC32Builder::FinalizeHash ( OUT BYTE *  pOutput)
overridevirtual

Digest finalization function.

Implements GrayLib::cHashBase.

◆ ResetHash()

virtual void GrayLib::cCRC32Builder::ResetHash ( )
inlineoverridevirtual

Implements GrayLib::cHashBase.

Member Data Documentation

◆ m_HashVal

CRC32_t GrayLib::cCRC32Builder::m_HashVal

The documentation for this class was generated from the following files: