bytevectorhash.cpp raw
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 ByteVectorHash::ByteVectorHash() :
14 m_k0(FastRandomContext().rand64()),
15 m_k1(FastRandomContext().rand64())
16 {
17 }
18
19 size_t ByteVectorHash::operator()(const std::vector<unsigned char>& input) const
20 {
21 return CSipHasher(m_k0, m_k1).Write(input).Finalize();
22 }
23