Changeset View
Changeset View
Standalone View
Standalone View
src/util/hasher.cpp
// Copyright (c) 2019 The Bitcoin Core developers | // Copyright (c) 2019 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <random.h> | #include <random.h> | ||||
#include <util/hasher.h> | #include <util/hasher.h> | ||||
#include <limits> | #include <limits> | ||||
SaltedUint256Hasher::SaltedUint256Hasher() | SaltedUint256Hasher::SaltedUint256Hasher() | ||||
: k0(GetRand(std::numeric_limits<uint64_t>::max())), | : k0(GetRand(std::numeric_limits<uint64_t>::max())), | ||||
k1(GetRand(std::numeric_limits<uint64_t>::max())) {} | k1(GetRand(std::numeric_limits<uint64_t>::max())) {} | ||||
SaltedOutpointHasher::SaltedOutpointHasher() | SaltedOutpointHasher::SaltedOutpointHasher() | ||||
: k0(GetRand(std::numeric_limits<uint64_t>::max())), | : k0(GetRand(std::numeric_limits<uint64_t>::max())), | ||||
k1(GetRand(std::numeric_limits<uint64_t>::max())) {} | k1(GetRand(std::numeric_limits<uint64_t>::max())) {} | ||||
SaltedSipHasher::SaltedSipHasher() | |||||
: m_k0(GetRand(std::numeric_limits<uint64_t>::max())), | |||||
m_k1(GetRand(std::numeric_limits<uint64_t>::max())) {} | |||||
size_t SaltedSipHasher::operator()(const Span<const uint8_t> &script) const { | |||||
return CSipHasher(m_k0, m_k1) | |||||
.Write(script.data(), script.size()) | |||||
.Finalize(); | |||||
} |