Bitcoin Core
28.99.0
P2P Digital Currency
src
util
hasher.cpp
Go to the documentation of this file.
1
// Copyright (c) 2019-2022 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
10
SaltedTxidHasher::SaltedTxidHasher
() :
11
k0{
FastRandomContext
().rand64()},
12
k1{
FastRandomContext
().rand64()} {}
13
14
SaltedOutpointHasher::SaltedOutpointHasher
(
bool
deterministic) :
15
k0{deterministic ? 0x8e819f2607a18de6 :
FastRandomContext
().rand64()},
16
k1{deterministic ? 0xf4020d2e3983b0eb :
FastRandomContext
().rand64()}
17
{}
18
19
SaltedSipHasher::SaltedSipHasher
() :
20
m_k0{
FastRandomContext
().rand64()},
21
m_k1{
FastRandomContext
().rand64()} {}
22
23
size_t
SaltedSipHasher::operator()
(
const
Span<const unsigned char>
&
script
)
const
24
{
25
return
CSipHasher
(
m_k0
,
m_k1
).
Write
(
script
).
Finalize
();
26
}
CSipHasher
SipHash-2-4.
Definition:
siphash.h:15
CSipHasher::Finalize
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition:
siphash.cpp:77
CSipHasher::Write
CSipHasher & Write(uint64_t data)
Hash a 64-bit integer worth of data It is treated as if this was the little-endian interpretation of ...
Definition:
siphash.cpp:28
FastRandomContext
Fast randomness source.
Definition:
random.h:377
SaltedOutpointHasher::SaltedOutpointHasher
SaltedOutpointHasher(bool deterministic=false)
Definition:
hasher.cpp:14
SaltedSipHasher::SaltedSipHasher
SaltedSipHasher()
Definition:
hasher.cpp:19
SaltedSipHasher::operator()
size_t operator()(const Span< const unsigned char > &script) const
Definition:
hasher.cpp:23
SaltedSipHasher::m_k0
const uint64_t m_k0
Salt.
Definition:
hasher.h:93
SaltedSipHasher::m_k1
const uint64_t m_k1
Definition:
hasher.h:93
SaltedTxidHasher::SaltedTxidHasher
SaltedTxidHasher()
Definition:
hasher.cpp:10
Span< const unsigned char >
hasher.h
script
Definition:
parsing.cpp:13
siphash.h
span.h
Generated on Wed Dec 18 2024 20:00:14 for Bitcoin Core by
1.9.4