#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; 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); void _update(const char* data, int length); std::string digest(); }; void _hash_file(int fileno, Hash* hash); } #endif // _HASH_H_