Bitcoin Core
31.99.0
P2P Digital Currency
src
util
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 <
util/hasher.h
>
6
7
#include <
crypto/siphash.h
>
8
#include <random.h>
9
10
SaltedUint256Hasher::SaltedUint256Hasher
() : m_hasher{
11
FastRandomContext
().rand64(),
12
FastRandomContext
().rand64()}
13
{}
14
15
SaltedTxidHasher::SaltedTxidHasher
() : m_hasher{
16
FastRandomContext
().rand64(),
17
FastRandomContext
().rand64()}
18
{}
19
20
SaltedWtxidHasher::SaltedWtxidHasher
() : m_hasher{
21
FastRandomContext
().rand64(),
22
FastRandomContext
().rand64()}
23
{}
24
25
SaltedOutpointHasher::SaltedOutpointHasher
() : m_hasher{
26
FastRandomContext
().rand64(),
27
FastRandomContext
().rand64()}
28
{}
29
30
SaltedSipHasher::SaltedSipHasher
() :
31
m_k0{
FastRandomContext
().rand64()},
32
m_k1{
FastRandomContext
().rand64()}
33
{}
34
35
size_t
SaltedSipHasher::operator()
(
const
std::span<const unsigned char>&
script
)
const
36
{
37
return
CSipHasher
(
m_k0
,
m_k1
).
Write
(
script
).
Finalize
();
38
}
CSipHasher
General SipHash-2-4 implementation.
Definition:
siphash.h:99
CSipHasher::Finalize
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition:
siphash.cpp:45
CSipHasher::Write
CSipHasher & Write(uint64_t data)
Hash a 64-bit integer worth of data.
Definition:
siphash.cpp:14
FastRandomContext
Fast randomness source.
Definition:
random.h:386
SaltedOutpointHasher::SaltedOutpointHasher
SaltedOutpointHasher()
Definition:
hasher.cpp:25
SaltedSipHasher::SaltedSipHasher
SaltedSipHasher()
Definition:
hasher.cpp:30
SaltedSipHasher::operator()
size_t operator()(const std::span< const unsigned char > &script) const
Definition:
hasher.cpp:35
SaltedSipHasher::m_k0
const uint64_t m_k0
Salt.
Definition:
hasher.h:111
SaltedSipHasher::m_k1
const uint64_t m_k1
Definition:
hasher.h:111
SaltedTxidHasher::SaltedTxidHasher
SaltedTxidHasher()
Definition:
hasher.cpp:15
SaltedUint256Hasher::SaltedUint256Hasher
SaltedUint256Hasher()
Definition:
hasher.cpp:10
SaltedWtxidHasher::SaltedWtxidHasher
SaltedWtxidHasher()
Definition:
hasher.cpp:20
hasher.h
script
Definition:
parsing.cpp:11
siphash.h
Generated on Tue Aug 11 2026 20:00:40 for Bitcoin Core by
1.9.4