aboutsummaryrefslogtreecommitdiff
path: root/src/Signature.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Signature.cpp')
-rw-r--r--src/Signature.cpp13
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;
}