/ src / util / bytevectorhash.cpp
bytevectorhash.cpp
 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>
 7  #include <util/bytevectorhash.h>
 8  
 9  #include <vector>
10  
11  ByteVectorHash::ByteVectorHash() :
12      m_k0(GetRand<uint64_t>()),
13      m_k1(GetRand<uint64_t>())
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  }