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 472 : ByteVectorHash::ByteVectorHash() : 12 236 : m_k0(GetRand<uint64_t>()), 13 236 : m_k1(GetRand<uint64_t>()) 14 236 : { 15 472 : } 16 : 17 878 : size_t ByteVectorHash::operator()(const std::vector<unsigned char>& input) const 18 : { 19 878 : return CSipHasher(m_k0, m_k1).Write(input.data(), input.size()).Finalize(); 20 : }