15 typedef unsigned __int8 uint8_t;
16 typedef unsigned __int64 uint64_t;
42 enum Bits { Bits224 = 224, Bits256 = 256, Bits384 = 384, Bits512 = 512 };
48 std::string
operator()(
const void* data,
size_t numBytes);
50 std::string
operator()(
const std::string& text);
53 void add(
const void* data,
size_t numBytes);
63 void processBlock(
const void* data);
68 enum { StateSize = 1600 / (8 * 8),
69 MaxBlockSize = 200 - 2 * (224 / 8) };
72 uint64_t m_hash[StateSize];
80 uint8_t m_buffer[MaxBlockSize];
compute SHA3 hash
Definition: sha3.h:38
void add(const void *data, size_t numBytes)
add arbitrary number of bytes
Definition: sha3.cpp:174
std::string getHash()
return latest hash as hex characters
Definition: sha3.cpp:237
std::string operator()(const void *data, size_t numBytes)
compute hash of a memory block
Definition: sha3.cpp:277
SHA3(Bits bits=Bits256)
same as reset()
Definition: sha3.cpp:18
void reset()
restart
Definition: sha3.cpp:27
Bits
algorithm variants
Definition: sha3.h:42