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.
5 #ifndef BITCOIN_CRYPTO_SHA256_H
6 #define BITCOIN_CRYPTO_SHA256_H
12 /** A hasher class for SHA-256. */
17 unsigned char buf
[64];
21 static const size_t OUTPUT_SIZE
= 32;
24 CSHA256
& Write(const unsigned char* data
, size_t len
);
25 void Finalize(unsigned char hash
[OUTPUT_SIZE
]);
29 /** Autodetect the best available SHA256 implementation.
30 * Returns the name of the implementation.
32 std::string
SHA256AutoDetect();
34 #endif // BITCOIN_CRYPTO_SHA256_H