33 #include "../System/databuffer.h"
42 static std::shared_ptr<SHA512_256>
create();
52 virtual void hash(
unsigned char out_hash[hash_size])
const = 0;
55 virtual void reset() = 0;
63 virtual void set_hmac(
const void *key_data,
int key_size) = 0;
66 virtual void add(
const void *data,
int size) = 0;
virtual std::string hash(bool uppercase=false) const =0
Returns the calculated hash.
virtual void calculate()=0
Finalize hash calculation.
static const int hash_size
Definition: sha512_256.h:44
SHA-512_256 hash function class.
Definition: sha512_256.h:38
virtual void add(const void *data, int size)=0
Adds data to be hashed.
std::shared_ptr< SHA512_256 > SHA512_256Ptr
Definition: sha512_256.h:77
virtual void reset()=0
Resets the hash generator.
static std::shared_ptr< SHA512_256 > create()
Constructs a SHA-512_256 hash generator.
std::shared_ptr< DataBuffer > DataBufferPtr
Definition: databuffer.h:66
virtual void set_hmac(const void *key_data, int key_size)=0
Enable a HMAC based calculation.
Definition: Application/application.h:35