Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
sha512.h
Go to the documentation of this file.
1// Copyright (c) 2014-2016 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_SHA512_H
6#define BITCOIN_CRYPTO_SHA512_H
7
8#include <cstdint>
9#include <cstdlib>
10
12class CSHA512 {
13private:
17
18public:
19 static constexpr size_t OUTPUT_SIZE = 64;
20
21 CSHA512();
22 CSHA512 &Write(const uint8_t *data, size_t len);
23 void Finalize(uint8_t hash[OUTPUT_SIZE]);
24 CSHA512 &Reset();
25 uint64_t Size() const { return bytes; }
26};
27
28#endif // BITCOIN_CRYPTO_SHA512_H
A hasher class for SHA-512.
Definition sha512.h:12
uint64_t Size() const
Definition sha512.h:25
CSHA512 & Write(const uint8_t *data, size_t len)
Definition sha512.cpp:248
static constexpr size_t OUTPUT_SIZE
Definition sha512.h:19
CSHA512 & Reset()
Definition sha512.cpp:289
uint64_t bytes
Definition sha512.h:16
uint8_t buf[128]
Definition sha512.h:15
uint64_t s[8]
Definition sha512.h:14
void Finalize(uint8_t hash[OUTPUT_SIZE])
Definition sha512.cpp:273
CSHA512()
Definition sha512.cpp:244
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