Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

sha256.cpp File Reference
#include <crypto/sha256.h>
#include <crypto/common.h>
#include <assert.h>
#include <string.h>
#include <atomic>
+ Include dependency graph for sha256.cpp:

Go to the source code of this file.

Namespaces

 sha256d64_sse41
 
 sha256d64_avx2
 
 sha256d64_shani
 
 sha256_shani
 
 sha256
 Internal SHA-256 implementation.
 

Functions

void sha256d64_sse41::Transform_4way (unsigned char *out, const unsigned char *in)
 
void sha256d64_avx2::Transform_8way (unsigned char *out, const unsigned char *in)
 
void sha256d64_shani::Transform_2way (unsigned char *out, const unsigned char *in)
 
void sha256_shani::Transform (uint32_t *s, const unsigned char *chunk, size_t blocks)
 
std::string SHA256AutoDetect ()
 Autodetect the best available SHA256 implementation. More...
 
void SHA256D64 (unsigned char *out, const unsigned char *in, size_t blocks)
 Compute multiple double-SHA256's of 64-byte blobs. More...
 

Function Documentation

◆ SHA256AutoDetect()

std::string SHA256AutoDetect ( )

Autodetect the best available SHA256 implementation.

Returns the name of the implementation.

Definition at line 573 of file sha256.cpp.

References sha256_shani::Transform(), sha256d64_shani::Transform_2way(), sha256d64_sse41::Transform_4way(), and sha256d64_avx2::Transform_8way().

Referenced by AppInitSanityChecks(), and main().

◆ SHA256D64()

void SHA256D64 ( unsigned char *  output,
const unsigned char *  input,
size_t  blocks 
)

Compute multiple double-SHA256's of 64-byte blobs.

output: pointer to a blocks*32 byte output buffer input: pointer to a blocks*64 byte input buffer blocks: the number of hashes to compute.

Definition at line 698 of file sha256.cpp.

Referenced by ComputeMerkleRoot(), and HASH_SHA256D64_1024().

Released under the MIT license