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