rcpp_framework/core/hash/sha256.h

30 lines
605 B
C
Raw Normal View History

#ifndef SHA256_H
#define SHA256_H
2021-11-01 19:16:43 +01:00
#include "core/string.h"
2021-08-22 21:06:47 +02:00
#include "core/reference.h"
class SHA256 : public Reference {
RCPP_OBJECT(SHA256, Reference);
public:
2021-11-01 19:16:43 +01:00
virtual String compute(const void *data, size_t num_bytes) = 0;
virtual String compute(const String &text) = 0;
virtual void add(const void *data, size_t num_bytes) = 0;
2021-11-01 19:16:43 +01:00
virtual String get_hash() = 0;
virtual void get_hash(unsigned char *buffer, size_t buffer_len) = 0;
virtual void reset() = 0;
static Ref<SHA256> get();
SHA256();
virtual ~SHA256();
protected:
static Ref<SHA256> (*_sha_256_creation_func)(void);
};
#endif