diff options
Diffstat (limited to 'src/hash_method.hh')
| -rw-r--r-- | src/hash_method.hh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/hash_method.hh b/src/hash_method.hh new file mode 100644 index 0000000..5a61c23 --- /dev/null +++ b/src/hash_method.hh @@ -0,0 +1,23 @@ +#ifndef HASH_METHOD_HH +#define HASH_METHOD_HH + +#include <memory> +#include <string> + +class HashMethod { +public: + virtual ~HashMethod() = default; + + static std::unique_ptr<HashMethod> sha256(); + + virtual void update(void const* data, size_t count) = 0; + + virtual std::string finish() = 0; + +protected: + HashMethod() = default; + + std::string to_string(uint8_t const* data, size_t len); +}; + +#endif // HASH_METHOD_HH |
