bytevectorhash.cpp raw
1 // Copyright (c) 2018-2022 The Limenka 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 #include <vector>
10
11 ByteVectorHash::ByteVectorHash() :
12 m_k0(FastRandomContext().rand64()),
13 m_k1(FastRandomContext().rand64())
14 {
15 }
16
17 size_t ByteVectorHash::operator()(const std::vector<unsigned char>& input) const
18 {
19 return CSipHasher(m_k0, m_k1).Write(input).Finalize();
20 }
21