Bitcoin Core 32.1.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 <cstddef>
9#include <cstdint>
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 constexpr 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
SHA256AutoDetect()
A hasher class for SHA-256.
Definition sha256.h:14
CSHA256 & Reset()
Definition sha256.cpp:742
unsigned char buf[64]
Definition sha256.h:17
static constexpr 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 *out, const unsigned char *in, size_t blocks)
Compute multiple double-SHA256's of 64-byte blobs.
Definition sha256.cpp:749