diff options
author | Jeffrey Czyz <jkczyz@gmail.com> | 2019-12-07 20:52:38 +0100 |
---|---|---|
committer | Vasil Dimov <vd@FreeBSD.org> | 2020-02-14 10:45:41 +0100 |
commit | e193a84fb28068e38d5f54fbfd6208428c5bb655 (patch) | |
tree | 3d9e920c26f874da2d9c06da07843d3fd15f4458 /src/util/message.h | |
parent | f8f0d9893d7969bdaa870fadb94ec5d0dfa8334d (diff) |
Refactor message hashing into a utility function
And add unit test for it.
The purpose of using a preamble or "magic" text as part of signing and
verifying a message was not given when the code was repeated in a few
locations. Make a test showing how it is used to prevent inadvertently
signing a transaction.
Diffstat (limited to 'src/util/message.h')
-rw-r--r-- | src/util/message.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/util/message.h b/src/util/message.h index 1a1ba88daf..01fd14ce2d 100644 --- a/src/util/message.h +++ b/src/util/message.h @@ -7,10 +7,11 @@ #define BITCOIN_UTIL_MESSAGE_H #include <key.h> // For CKey +#include <uint256.h> #include <string> -extern const std::string strMessageMagic; +extern const std::string MESSAGE_MAGIC; /** The result of a signed message verification. * Message verification takes as an input: @@ -58,4 +59,10 @@ bool MessageSign( const std::string& message, std::string& signature); +/** + * Hashes a message for signing and verification in a manner that prevents + * inadvertently signing a transaction. + */ +uint256 MessageHash(const std::string& message); + #endif // BITCOIN_UTIL_MESSAGE_H |