Bitcoin ABC
0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
src
util
bytevectorhash.cpp
Go to the documentation of this file.
1
// Copyright (c) 2018 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 <
util/bytevectorhash.h
>
8
9
ByteVectorHash::ByteVectorHash
()
10
: m_k0(
GetRand
<
uint64_t
>()), m_k1(
GetRand
<
uint64_t
>()) {}
11
12
size_t
ByteVectorHash::operator()
(
const
std::vector<uint8_t> &input)
const
{
13
return
CSipHasher
(
m_k0
,
m_k1
).
Write
(input.data(), input.size()).
Finalize
();
14
}
bytevectorhash.h
ByteVectorHash::m_k1
uint64_t m_k1
Definition
bytevectorhash.h:19
ByteVectorHash::m_k0
uint64_t m_k0
Definition
bytevectorhash.h:19
ByteVectorHash::ByteVectorHash
ByteVectorHash()
Definition
bytevectorhash.cpp:9
ByteVectorHash::operator()
size_t operator()(const std::vector< uint8_t > &input) const
Definition
bytevectorhash.cpp:12
CSipHasher
SipHash-2-4.
Definition
siphash.h:13
CSipHasher::Finalize
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition
siphash.cpp:82
CSipHasher::Write
CSipHasher & Write(uint64_t data)
Hash a 64-bit integer worth of data.
Definition
siphash.cpp:36
random.h
GetRand
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition
random.h:85
siphash.h
Generated on Sat Nov 23 2024 02:38:01 for Bitcoin ABC by
1.9.8