11 return (x << r) | (x >> (32 - r));
27 for (
int i = 0; i <
nblocks; ++i) {
36 h1 =
h1 * 5 + 0xe6546b64;
75 num[0] = (nChild >> 24) & 0xFF;
76 num[1] = (nChild >> 16) & 0xFF;
77 num[2] = (nChild >> 8) & 0xFF;
78 num[3] = (nChild >> 0) & 0xFF;
static const uint8_t k1[32]
A hasher class for HMAC-SHA-512.
CHMAC_SHA512 & Write(const uint8_t *data, size_t len)
void Finalize(uint8_t hash[OUTPUT_SIZE])
A Span is an object that can refer to a contiguous sequence of objects.
static uint32_t ReadLE32(const uint8_t *ptr)
uint32_t MurmurHash3(uint32_t nHashSeed, Span< const uint8_t > vDataToHash)
void BIP32Hash(const ChainCode &chainCode, uint32_t nChild, uint8_t header, const uint8_t data[32], uint8_t output[64])
uint32_t ROTL32(uint32_t x, int8_t r)
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...