Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
sha256.h
Go to the documentation of this file.
1// Copyright (c) 2014-present 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_SHA256_H
6#define BITCOIN_CRYPTO_SHA256_H
7
8#include <cstdint>
9#include <cstdlib>
10#include <string>
11
14{
15private:
16 uint32_t s[8];
17 unsigned char buf[64];
18 uint64_t bytes{0};
19
20public:
21 static const size_t OUTPUT_SIZE = 32;
22
23 CSHA256();
24 CSHA256& Write(const unsigned char* data, size_t len);
25 void Finalize(unsigned char hash[OUTPUT_SIZE]);
26 CSHA256& Reset();
27};
28
40
45
51void SHA256D64(unsigned char* output, const unsigned char* input, size_t blocks);
52
53#endif // BITCOIN_CRYPTO_SHA256_H
CSHA256 & Reset()
Definition sha256.cpp:742
unsigned char buf[64]
Definition sha256.h:17
static const size_t OUTPUT_SIZE
Definition sha256.h:21
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition sha256.cpp:725
uint64_t bytes
Definition sha256.h:18
CSHA256 & Write(const unsigned char *data, size_t len)
Definition sha256.cpp:699
uint32_t s[8]
Definition sha256.h:16
CSHA256()
Definition sha256.cpp:694
void SHA256D64(unsigned char *output, const unsigned char *input, size_t blocks)
Compute multiple double-SHA256's of 64-byte blobs.
Definition sha256.cpp:749
std::string SHA256AutoDetect(sha256_implementation::UseImplementation use_implementation=sha256_implementation::USE_ALL)
Autodetect the best available SHA256 implementation.
Definition sha256.cpp:585