From 93d4abfd2acdc72913ca2063d2f8644407d14330 Mon Sep 17 00:00:00 2001 From: Ravin Perera <33562092+ravinsp@users.noreply.github.com> Date: Wed, 30 Oct 2019 18:35:08 +0530 Subject: [PATCH] Updated hashing algorithm. --- src/crypto.cpp | 10 +++++----- src/crypto.hpp | 2 +- src/p2p/p2p.cpp | 2 +- src/util.hpp | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/crypto.cpp b/src/crypto.cpp index cab43aef..4aae3965 100644 --- a/src/crypto.cpp +++ b/src/crypto.cpp @@ -133,15 +133,15 @@ int verify_hex(std::string_view msg, std::string_view sighex, std::string_view p } /** - * Generate SHA 512 hash for message prepend with prefix before hashing. + * Generate hash for message prepend with prefix before hashing. * * @param data String to hash. - * @return SHA 512 hash. + * @return The hash of the given string. */ -std::string sha_512_hash(std::string_view data) +std::string get_hash(std::string_view data) { - unsigned char hashchars[crypto_hash_sha512_BYTES]; - crypto_hash_sha512(hashchars, (unsigned char *)data.data(), data.length()); + unsigned char hashchars[crypto_generichash_BYTES]; + crypto_generichash(hashchars, sizeof hashchars, (unsigned char *)data.data(), data.length(), NULL, 0); return std::string(reinterpret_cast(hashchars), crypto_hash_sha512_BYTES); } diff --git a/src/crypto.hpp b/src/crypto.hpp index c4ba370f..634590d1 100644 --- a/src/crypto.hpp +++ b/src/crypto.hpp @@ -29,7 +29,7 @@ int verify(std::string_view msg, std::string_view sig, std::string_view pubkey); int verify_hex(std::string_view msg, std::string_view sighex, std::string_view pubkeyhex); -std::string sha_512_hash(std::string_view data); +std::string get_hash(std::string_view data); } // namespace crypto diff --git a/src/p2p/p2p.cpp b/src/p2p/p2p.cpp index 425ee5a2..87dc007d 100644 --- a/src/p2p/p2p.cpp +++ b/src/p2p/p2p.cpp @@ -123,7 +123,7 @@ void peer_connection_watchdog() bool is_message_duplicate(std::string_view message) { // Get message hash and see whether message is already recieved -> abandon if duplicate. - std::string hash = crypto::sha_512_hash(message); + std::string hash = crypto::get_hash(message); auto itr = recent_peermsg_hashes.find(hash); if (itr == recent_peermsg_hashes.end()) // Not found diff --git a/src/util.hpp b/src/util.hpp index 8b606eb7..bb5f41a5 100644 --- a/src/util.hpp +++ b/src/util.hpp @@ -80,7 +80,7 @@ struct hash_buffer stringtohash.append(buffer); stringtohash.append(timestr); - hash = crypto::sha_512_hash(stringtohash); + hash = crypto::get_hash(stringtohash); } };