Bitcoin Core
22.99.0
P2P Digital Currency
src
crypto
sha256.h
Go to the documentation of this file.
1
// Copyright (c) 2014-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_SHA256_H
6
#define BITCOIN_CRYPTO_SHA256_H
7
8
#include <stdint.h>
9
#include <stdlib.h>
10
#include <string>
11
13
class
CSHA256
14
{
15
private
:
16
uint32_t
s
[8];
17
unsigned
char
buf
[64];
18
uint64_t
bytes
;
19
20
public
:
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
32
std::string
SHA256AutoDetect
();
33
39
void
SHA256D64
(
unsigned
char
* output,
const
unsigned
char
* input,
size_t
blocks);
40
41
#endif // BITCOIN_CRYPTO_SHA256_H
CSHA256::Write
CSHA256 & Write(const unsigned char *data, size_t len)
Definition:
sha256.cpp:689
CSHA256::s
uint32_t s[8]
Definition:
sha256.h:16
SHA256AutoDetect
std::string SHA256AutoDetect()
Autodetect the best available SHA256 implementation.
Definition:
sha256.cpp:582
CSHA256::Reset
CSHA256 & Reset()
Definition:
sha256.cpp:732
CSHA256::Finalize
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition:
sha256.cpp:715
CSHA256::OUTPUT_SIZE
static const size_t OUTPUT_SIZE
Definition:
sha256.h:21
SHA256D64
void SHA256D64(unsigned char *output, const unsigned char *input, size_t blocks)
Compute multiple double-SHA256's of 64-byte blobs.
Definition:
sha256.cpp:739
CSHA256::CSHA256
CSHA256()
Definition:
sha256.cpp:684
CSHA256
A hasher class for SHA-256.
Definition:
sha256.h:13
CSHA256::bytes
uint64_t bytes
Definition:
sha256.h:18
CSHA256::buf
unsigned char buf[64]
Definition:
sha256.h:17
Generated on Fri Feb 18 2022 20:03:16 for Bitcoin Core by
1.8.17