diff options
Diffstat (limited to 'src/Signature.cpp')
-rw-r--r-- | src/Signature.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Signature.cpp b/src/Signature.cpp index 34f6190..d328b58 100644 --- a/src/Signature.cpp +++ b/src/Signature.cpp @@ -1,4 +1,5 @@ #include "../include/Signature.hpp" +#include "../include/Hash.hpp" #include <sodium/crypto_sign_ed25519.h> #include <sodium/utils.h> #include <cstring> @@ -48,10 +49,20 @@ namespace odhtdb return result; } + size_t PublicKey::operator()() const + { + return fnvHash((const unsigned char*)data, PUBLIC_KEY_NUM_BYTES); + } + + bool PublicKey::operator==(const PublicKey &other) const + { + return memcmp(data, other.data, PUBLIC_KEY_NUM_BYTES) == 0; + } + string PublicKey::toString() const { string result; - result.resize(PUBLIC_KEY_NUM_BYTES * 2); + result.resize(PUBLIC_KEY_NUM_BYTES * 2 + 1); sodium_bin2hex(&result[0], PUBLIC_KEY_NUM_BYTES * 2 + 1, (const unsigned char*)data, PUBLIC_KEY_NUM_BYTES); return result; } |