summaryrefslogtreecommitdiff
path: root/src/hash.h
blob: d2771a5bcadab41ba01bf315e529903dc8501f9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef _HASH_H_
#define _HASH_H_

#include <string>

namespace Multihash {
	namespace Hex {
		std::string hex(char* bin, int length);
		std::string hex(int bin);
	}
	
	class Hash {
		private:
			std::string digest_str;
			Hash* next;
			void _update(const char* data, int length);
		protected:
			virtual void hash_update(const char* data, int length);
			virtual std::string hash_digest();
		public:
			Hash(Hash* n = 0);
			void update(std::string data);
			std::string digest();
	};
}

#endif // _HASH_H_