Bitcoin Core 28.99.0
P2P Digital Currency
bytevectorhash.cpp
Go to the documentation of this file.
1// Copyright (c) 2018-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>
8
9#include <vector>
10
12 m_k0(FastRandomContext().rand64()),
13 m_k1(FastRandomContext().rand64())
14{
15}
16
17size_t ByteVectorHash::operator()(const std::vector<unsigned char>& input) const
18{
19 return CSipHasher(m_k0, m_k1).Write(input).Finalize();
20}
size_t operator()(const std::vector< unsigned char > &input) const
SipHash-2-4.
Definition: siphash.h:15
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition: siphash.cpp:77
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
Fast randomness source.
Definition: random.h:377