diff options
Diffstat (limited to 'src/multihash.h')
-rw-r--r-- | src/multihash.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/multihash.h b/src/multihash.h new file mode 100644 index 0000000..5af339f --- /dev/null +++ b/src/multihash.h @@ -0,0 +1,37 @@ +#ifndef _MULTIHASH_H_ +#define _MULTIHASH_H_ + +#include <string> + +#include "ed2k.h" + +#include <openssl/md4.h> +#include <openssl/md5.h> +#include <openssl/sha.h> + +class Multihash { + private: + bool finished; + + int crc32_ctx; + std::string crc32_str; + + Ed2k ed2k_ctx; + std::string ed2k_str; + + MD5_CTX md5_ctx; + std::string md5_str; + + SHA_CTX sha1_ctx; + std::string sha1_str; + + public: + Multihash(); + void update(std::string data); + std::string crc32(); + std::string ed2k(); + std::string md5(); + std::string sha1(); +}; + +#endif // _HASH_H_ |