mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Make RippleAddress hashes safe.
This commit is contained in:
@@ -18,9 +18,16 @@
|
||||
#include "utils.h"
|
||||
#include "Log.h"
|
||||
#include "Serializer.h"
|
||||
#include "Application.h"
|
||||
|
||||
SETUP_LOG();
|
||||
|
||||
std::size_t hash_value(const CBase58Data& b58)
|
||||
{
|
||||
std::size_t seed = theApp->getNonceST() + (b58.nVersion * 0x9e3779b9);
|
||||
boost::hash_combine(seed, b58.vchData);
|
||||
return seed;
|
||||
}
|
||||
|
||||
RippleAddress::RippleAddress()
|
||||
{
|
||||
|
||||
@@ -164,11 +164,8 @@ protected:
|
||||
unsigned char nVersion;
|
||||
std::vector<unsigned char> vchData;
|
||||
|
||||
CBase58Data()
|
||||
{
|
||||
nVersion = 1;
|
||||
vchData.clear();
|
||||
}
|
||||
CBase58Data() : nVersion(1)
|
||||
{ ; }
|
||||
|
||||
~CBase58Data()
|
||||
{
|
||||
@@ -247,13 +244,7 @@ public:
|
||||
friend std::size_t hash_value(const CBase58Data& b58);
|
||||
};
|
||||
|
||||
inline std::size_t hash_value(const CBase58Data& b58)
|
||||
{
|
||||
std::size_t seed = boost::hash_value(b58.nVersion);
|
||||
extern std::size_t hash_value(const CBase58Data& b58);
|
||||
|
||||
boost::hash_combine(seed, b58.vchData);
|
||||
|
||||
return seed;
|
||||
}
|
||||
#endif
|
||||
// vim:ts=4
|
||||
|
||||
Reference in New Issue
Block a user