Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
siphash.h
Go to the documentation of this file.
1// Copyright (c) 2016-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#ifndef BITCOIN_CRYPTO_SIPHASH_H
6#define BITCOIN_CRYPTO_SIPHASH_H
7
8#include <uint256.h>
9
10#include <cstdint>
11
14private:
17 // Only the low 8 bits of the input size matter.
19
20public:
31 CSipHasher &Write(const uint8_t *data, size_t size);
34 uint64_t Finalize() const;
35};
36
50
51#endif // BITCOIN_CRYPTO_SIPHASH_H
static const uint8_t k1[32]
SipHash-2-4.
Definition siphash.h:13
uint64_t v[4]
Definition siphash.h:15
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
Definition siphash.cpp:82
CSipHasher & Write(uint64_t data)
Hash a 64-bit integer worth of data.
Definition siphash.cpp:36
uint64_t tmp
Definition siphash.h:16
uint8_t count
Definition siphash.h:18
256-bit opaque blob.
Definition uint256.h:129
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition random.h:85
uint64_t SipHashUint256Extra(uint64_t k0, uint64_t k1, const uint256 &val, uint32_t extra)
Definition siphash.cpp:138
uint64_t SipHashUint256(uint64_t k0, uint64_t k1, const uint256 &val)
Optimized SipHash-2-4 implementation for uint256.
Definition siphash.cpp:99