Branch data Line data Source code
1 : : // Copyright (c) 2018-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/bytevectorhash.h>
6 : :
7 : : #include <crypto/siphash.h>
8 : : #include <random.h>
9 : :
10 : : #include <span>
11 : : #include <vector>
12 : :
13 : 17311 : ByteVectorHash::ByteVectorHash() :
14 : 17311 : m_k0(FastRandomContext().rand64()),
15 : 17311 : m_k1(FastRandomContext().rand64())
16 : : {
17 : 17311 : }
18 : :
19 : 27020 : size_t ByteVectorHash::operator()(const std::vector<unsigned char>& input) const
20 : : {
21 [ - + ]: 27020 : return CSipHasher(m_k0, m_k1).Write(input).Finalize();
22 : : }
|