Bitcoin Core 30.99.0
P2P Digital Currency
hasher.cpp
Go to the documentation of this file.
1// Copyright (c) 2019-present The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#include <crypto/siphash.h>
6#include <random.h>
7#include <span.h>
8#include <util/hasher.h>
9
11 FastRandomContext().rand64(),
12 FastRandomContext().rand64()}
13{}
14
16 FastRandomContext().rand64(),
17 FastRandomContext().rand64()}
18{}
19
21 FastRandomContext().rand64(),
22 FastRandomContext().rand64()}
23{}
24
25SaltedOutpointHasher::SaltedOutpointHasher(bool deterministic) : m_hasher{
26 deterministic ? 0x8e819f2607a18de6 : FastRandomContext().rand64(),
27 deterministic ? 0xf4020d2e3983b0eb : FastRandomContext().rand64()}
28{}
29
31 m_k0{FastRandomContext().rand64()},
32 m_k1{FastRandomContext().rand64()}
33{}
34
35size_t SaltedSipHasher::operator()(const std::span<const unsigned char>& script) const
36{
38}
General SipHash-2-4 implementation.
Definition: siphash.h:27
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition: siphash.cpp:73
CSipHasher & Write(uint64_t data)
Hash a 64-bit integer worth of data.
Definition: siphash.cpp:24
Fast randomness source.
Definition: random.h:386
SaltedOutpointHasher(bool deterministic=false)
Definition: hasher.cpp:25
size_t operator()(const std::span< const unsigned char > &script) const
Definition: hasher.cpp:35
const uint64_t m_k0
Salt.
Definition: hasher.h:116
const uint64_t m_k1
Definition: hasher.h:116