CMSDK  2.0.1
hash.h
1 // //////////////////////////////////////////////////////////
2 // hash.h
3 // Copyright (c) 2014,2015 Stephan Brumme. All rights reserved.
4 // see http://create.stephan-brumme.com/disclaimer.html
5 //
6 
7 #pragma once
8 
9 #include <string>
10 
12 class Hash
13 {
14 public:
16  virtual std::string operator()(const void* data, size_t numBytes) = 0;
18  virtual std::string operator()(const std::string& text) = 0;
19 
21  virtual void add(const void* data, size_t numBytes) = 0;
22 
24  virtual std::string getHash() = 0;
25 
27  virtual void reset() = 0;
28 };
virtual std::string operator()(const void *data, size_t numBytes)=0
compute hash of a memory block
virtual void reset()=0
restart
virtual std::string getHash()=0
return latest hash as hex characters
abstract base class
Definition: hash.h:12
virtual void add(const void *data, size_t numBytes)=0
add arbitrary number of bytes