27 data.resize(new_size, x);
51 data.resize(new_size, x);
55 (void)hash160.
Write(data);
56 (void)hash256.
Write(data);
57 (void)hmac_sha256.
Write(data.data(), data.size());
58 (void)hmac_sha512.
Write(data.data(), data.size());
59 (void)
ripemd160.Write(data.data(), data.size());
60 (void)
sha1.Write(data.data(), data.size());
61 (void)
sha256.Write(data.data(), data.size());
62 (void)sha3.
Write(data);
63 (void)
sha512.Write(data.data(), data.size());
64 (void)sip_hasher.
Write(data);
71 (void)hash160.
Reset();
72 (void)hash256.
Reset();
104 sha1.Finalize(data.data());
108 sha256.Finalize(data.data());
112 sha512.Finalize(data.data());
116 data[0] = sip_hasher.
Finalize() % 256;
126 for (
size_t i = 0; i < 25; ++i) {
A hasher class for HMAC-SHA-256.
CHMAC_SHA256 & Write(const unsigned char *data, size_t len)
void Finalize(unsigned char hash[OUTPUT_SIZE])
static const size_t OUTPUT_SIZE
A hasher class for HMAC-SHA-512.
CHMAC_SHA512 & Write(const unsigned char *data, size_t len)
void Finalize(unsigned char hash[OUTPUT_SIZE])
static const size_t OUTPUT_SIZE
A hasher class for Bitcoin's 160-bit hash (SHA-256 + RIPEMD-160).
static const size_t OUTPUT_SIZE
CHash160 & Write(std::span< const unsigned char > input)
void Finalize(std::span< unsigned char > output)
A hasher class for Bitcoin's 256-bit hash (double SHA-256).
static const size_t OUTPUT_SIZE
void Finalize(std::span< unsigned char > output)
CHash256 & Write(std::span< const unsigned char > input)
A hasher class for RIPEMD-160.
static const size_t OUTPUT_SIZE
static const size_t OUTPUT_SIZE
A hasher class for SHA-256.
static const size_t OUTPUT_SIZE
A hasher class for SHA-512.
static constexpr size_t OUTPUT_SIZE
General SipHash-2-4 implementation.
uint64_t Finalize() const
Compute the 64-bit SipHash-2-4 of the data written so far.
CSipHasher & Write(uint64_t data)
Hash a 64-bit integer worth of data.
T ConsumeIntegralInRange(T min, T max)
SHA3_256 & Write(std::span< const unsigned char > data)
SHA3_256 & Finalize(std::span< unsigned char > output)
static constexpr size_t OUTPUT_SIZE
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.
uint160 Hash160(const T1 &in1)
Compute the 160-bit hash an object.
uint256 Hash(const T &in1)
Compute the 256-bit hash of an object.
Internal RIPEMD-160 implementation.
Internal SHA-1 implementation.
Internal SHA-256 implementation.
Internal SHA-512 implementation.
void KeccakF(uint64_t(&st)[25])
The Keccak-f[1600] transform.
size_t CallOneOf(FuzzedDataProvider &fuzzed_data_provider, Callables... callables)
std::vector< B > ConsumeRandomLengthByteVector(FuzzedDataProvider &fuzzed_data_provider, const std::optional< size_t > &max_length=std::nullopt) noexcept