#ifndef _HASH_H_ #define _HASH_H_ #include 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_