Bitcoin Core
21.99.0
P2P Digital Currency
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
{
11
GetRandBytes
(
reinterpret_cast<
unsigned
char
*
>
(&
m_k0
),
sizeof
(
m_k0
));
12
GetRandBytes
(
reinterpret_cast<
unsigned
char
*
>
(&
m_k1
),
sizeof
(
m_k1
));
13
}
14
15
size_t
ByteVectorHash::operator()
(
const
std::vector<unsigned char>& input)
const
16
{
17
return
CSipHasher
(
m_k0
,
m_k1
).
Write
(input.data(), input.size()).
Finalize
();
18
}
ByteVectorHash::m_k1
uint64_t m_k1
Definition:
bytevectorhash.h:19
ByteVectorHash::ByteVectorHash
ByteVectorHash()
Definition:
bytevectorhash.cpp:9
CSipHasher
SipHash-2-4.
Definition:
siphash.h:13
siphash.h
random.h
CSipHasher::Finalize
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition:
siphash.cpp:76
GetRandBytes
void GetRandBytes(unsigned char *buf, int num) noexcept
Overall design of the RNG and entropy sources.
Definition:
random.cpp:584
ByteVectorHash::operator()
size_t operator()(const std::vector< unsigned char > &input) const
Definition:
bytevectorhash.cpp:15
bytevectorhash.h
ByteVectorHash::m_k0
uint64_t m_k0
Definition:
bytevectorhash.h:19
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
Generated on Wed Apr 21 2021 20:03:54 for Bitcoin Core by
1.8.17