Bitcoin Core 28.99.0
P2P Digital Currency
sha1.h
Go to the documentation of this file.
1// Copyright (c) 2014-2022 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_SHA1_H
6#define BITCOIN_CRYPTO_SHA1_H
7
8#include <cstdlib>
9#include <stdint.h>
10
12class CSHA1
13{
14private:
15 uint32_t s[5];
16 unsigned char buf[64];
17 uint64_t bytes{0};
18
19public:
20 static const size_t OUTPUT_SIZE = 20;
21
22 CSHA1();
23 CSHA1& Write(const unsigned char* data, size_t len);
24 void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 CSHA1& Reset();
26};
27
28#endif // BITCOIN_CRYPTO_SHA1_H
A hasher class for SHA1.
Definition: sha1.h:13
CSHA1 & Write(const unsigned char *data, size_t len)
Definition: sha1.cpp:154
static const size_t OUTPUT_SIZE
Definition: sha1.h:20
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition: sha1.cpp:180
CSHA1 & Reset()
Definition: sha1.cpp:194
CSHA1()
Definition: sha1.cpp:149
uint64_t bytes
Definition: sha1.h:17
uint32_t s[5]
Definition: sha1.h:15
unsigned char buf[64]
Definition: sha1.h:16