#include "../include/odhtdb/InfoHash.hpp" #include #include #include namespace odhtdb { InfoHash::InfoHash() { } InfoHash::InfoHash(const u8 *data, const size_t size) : key(data, size) { } InfoHash InfoHash::generateHash(const u8 *data, const size_t size) { InfoHash infoHash; int result = crypto_generichash_blake2b((unsigned char*)&infoHash.key.data[0], infoHash.key.data.size(), (const unsigned char*)data, size, nullptr, 0); if(result < 0) throw InfoHashException("Failed to hash data using blake2b"); return infoHash; } bool InfoHash::operator == (const InfoHash &other) const { return key == other.key; } bool InfoHash::operator != (const InfoHash &other) const { return !(*this == other); } }