33 #include "../System/databuffer.h"
42 static std::shared_ptr<SHA256>
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;
SHA-256 hash function class.
Definition: sha256.h:38
std::shared_ptr< SHA256 > SHA256Ptr
Definition: sha256.h:77
virtual void set_hmac(const void *key_data, int key_size)=0
Enable a HMAC based calculation.
static std::shared_ptr< SHA256 > create()
Constructs a SHA-256 hash generator.
static const int hash_size
Definition: sha256.h:44
virtual void calculate()=0
Finalize hash calculation.
virtual void reset()=0
Resets the hash generator.
virtual void add(const void *data, int size)=0
Adds data to be hashed.
virtual std::string hash(bool uppercase=false) const =0
Returns the calculated hash.
std::shared_ptr< DataBuffer > DataBufferPtr
Definition: databuffer.h:66
Definition: Application/application.h:35