Line data Source code
1 : // Copyright (c) 2018 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 293324 : ByteVectorHash::ByteVectorHash() : 12 146662 : m_k0(GetRand<uint64_t>()), 13 146662 : m_k1(GetRand<uint64_t>()) 14 146662 : { 15 293324 : } 16 : 17 729992 : size_t ByteVectorHash::operator()(const std::vector<unsigned char>& input) const 18 : { 19 729992 : return CSipHasher(m_k0, m_k1).Write(input.data(), input.size()).Finalize(); 20 : }