6 #ifndef _INC_cHashSHA256_H
7 #define _INC_cHashSHA256_H
25 friend class cHashSHA256Builder;
31 put_HexDigest(pszHexDigest);
33 static size_t GRAYCALL ComputeHash(BYTE pOutput[32],
const void* pInput,
size_t nInputSize,
bool is224);
34 static size_t GRAYCALL ComputeHmac(BYTE pOutput[32],
const BYTE* pKey,
size_t nKeySize,
const void* pInput,
size_t nInputSize,
bool is224);
43 friend class cHashSHA256Builder;
49 put_HexDigest(pszHexDigest);
60 typedef cHashBase SUPER_t;
63 static const size_t k_HashSize = 32;
75 cHashSHA256Builder(
bool is224=
false)
80 virtual ~cHashSHA256Builder()
94 virtual void ResetHash()
override;
95 virtual void ProcessHashBuffer(
const BYTE pBuffer[64])
override;
96 virtual void AddToHash(
const void* pInput,
size_t nInputSize)
override;
97 virtual size_t FinalizeHash(BYTE* pOutput)
override;
100 virtual void InitHmac(
const BYTE* pKey,
size_t nKeySize)
override;
101 virtual size_t FinalizeHmac(BYTE pOutput[32])
override;
102 virtual void ResetHmac()
override;
126 return new cHashSHA256Builder(
true);
128 virtual size_t ComputeHash(BYTE* pOutput,
const BYTE* pInput,
size_t nInputSize)
const override
143 return new cHashSHA256Builder(
false);
145 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: cHashSHA256.h:106
static const size_t k_HashSize
Definition: cHashSHA256.h:109
cHashSHA224Builder()
Definition: cHashSHA256.h:111
Definition: cHashSHA256.h:40
cHashSHA224(const char *pszHexDigest)
Definition: cHashSHA256.h:47
cHashSHA224()
Definition: cHashSHA256.h:45
Definition: cHashSHA256.h:19
static size_t GRAYCALL ComputeHash(BYTE pOutput[32], const void *pInput, size_t nInputSize, bool is224)
Definition: cHashSHA256.cpp:14
UNITTEST_FRIEND(cHashSHA256)
cHashSHA256()
Definition: cHashSHA256.h:27
cHashSHA256(const char *pszHexDigest)
Definition: cHashSHA256.h:29
Definition: cHashTypeDef.h:21
Definition: cHashSHA256.h:117
virtual size_t ComputeHash(BYTE *pOutput, const BYTE *pInput, size_t nInputSize) const override
Definition: cHashSHA256.h:128
cHashTypeSHA224()
Definition: cHashSHA256.h:120
virtual cHashBase * AllocHash(void) const override
Definition: cHashSHA256.h:124
Definition: cHashSHA256.h:134
cHashTypeSHA256()
Definition: cHashSHA256.h:137
virtual size_t ComputeHash(BYTE *pOutput, const BYTE *pInput, size_t nInputSize) const override
Definition: cHashSHA256.h:145
virtual cHashBase * AllocHash(void) const override
Definition: cHashSHA256.h:141
UNITTEST2_PREDEF(cQuadtree)
@ SSL_Hash_SHA256
Definition: cHashCode.h:34
@ SSL_Hash_SHA224
Definition: cHashCode.h:33
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