73 static const unsigned char pblank[1] = {};
75 CHash256().
Write(pbegin == pend ? pblank : (
const unsigned char*)&pbegin[0], (pend - pbegin) *
sizeof(pbegin[0]))
81 template<
typename T1,
typename T2>
83 const T2 p2begin,
const T2 p2end) {
84 static const unsigned char pblank[1] = {};
86 CHash256().
Write(p1begin == p1end ? pblank : (
const unsigned char*)&p1begin[0], (p1end - p1begin) *
sizeof(p1begin[0]))
87 .
Write(p2begin == p2end ? pblank : (
const unsigned char*)&p2begin[0], (p2end - p2begin) *
sizeof(p2begin[0]))
96 static unsigned char pblank[1] = {};
98 CHash160().
Write(pbegin == pend ? pblank : (
const unsigned char*)&pbegin[0], (pend - pbegin) *
sizeof(pbegin[0]))
106 return Hash160(vch.begin(), vch.end());
110 template<
unsigned int N>
131 void write(
const char *pch,
size_t size) {
132 ctx.
Write((
const unsigned char*)pch, size);
160 template<
typename Source>
169 void read(
char* pch,
size_t nSize)
172 this->
write(pch, nSize);
179 size_t now = std::min<size_t>(nSize, 1024);
203 unsigned int MurmurHash3(
unsigned int nHashSeed,
const std::vector<unsigned char>& vDataToHash);
205 void BIP32Hash(
const ChainCode &chainCode,
unsigned int nChild,
unsigned char header,
const unsigned char data[32],
unsigned char output[64]);
207 #endif // BITCOIN_HASH_H CHash256 & Reset()
Definition: hash.h:39
static const size_t OUTPUT_SIZE
Definition: hash.h:26
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64])
Definition: hash.cpp:71
unsigned int MurmurHash3(unsigned int nHashSeed, const std::vector< unsigned char > &vDataToHash)
Definition: hash.cpp:15
Source * source
Definition: hash.h:164
void write(const char *pch, size_t size)
Definition: hash.h:131
CHashWriter(int nTypeIn, int nVersionIn)
Definition: hash.h:126
const int nVersion
Definition: hash.h:123
CSHA256 sha
Definition: hash.h:24
uint256 ChainCode
Definition: hash.h:19
static const size_t OUTPUT_SIZE
Definition: ripemd160.h:20
CHash160 & Reset()
Definition: hash.h:63
CHashVerifier(Source *source_)
Definition: hash.h:167
uint160 Hash160(const T1 pbegin, const T1 pend)
Definition: hash.h:94
CRIPEMD160 & Write(const unsigned char *data, size_t len)
Definition: ripemd160.cpp:247
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition: sha256.cpp:674
void Serialize(Stream &s, char a)
Definition: serialize.h:204
uint256 GetHash()
Definition: hash.h:136
uint256 SerializeHash(const T &obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
Definition: hash.h:196
iterator end()
Definition: prevector.h:287
Definition: serialize.h:177
unsigned long long uint64_t
Definition: stdint.h:22
const int nType
Definition: hash.h:122
CHash256 ctx
Definition: hash.h:120
void read(char *pch, size_t nSize)
Definition: hash.h:169
uint64_t GetCheapHash()
Definition: hash.h:145
static const size_t OUTPUT_SIZE
Definition: hash.h:50
uint256 Hash(const T1 pbegin, const T1 pend)
Definition: hash.h:71
void ignore(size_t nSize)
Definition: hash.h:175
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition: ripemd160.cpp:273
Definition: prevector.h:38
std::vector< uint8_t > data
Definition: bech32.cpp:10
Definition: uint256.h:121
int GetType() const
Definition: hash.h:128
CSHA256 & Write(const unsigned char *data, size_t len)
Definition: sha256.cpp:648
CHash160 & Write(const unsigned char *data, size_t len)
Definition: hash.h:58
static const int PROTOCOL_VERSION
Definition: version.h:12
static const size_t OUTPUT_SIZE
Definition: sha256.h:21
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition: hash.h:28
static uint64_t ReadLE64(const unsigned char *ptr)
Definition: common.h:31
CSHA256 sha
Definition: hash.h:48
Definition: uint256.h:110
void Unserialize(Stream &s, char &a)
Definition: serialize.h:222
void Finalize(unsigned char hash[OUTPUT_SIZE])
Definition: hash.h:52
iterator begin()
Definition: prevector.h:285
CHashWriter & operator<<(const T &obj)
Definition: hash.h:152
CHashVerifier< Source > & operator>>(T &&obj)
Definition: hash.h:186
Definition: ripemd160.h:12
CSHA256 & Reset()
Definition: sha256.cpp:691
CHash256 & Write(const unsigned char *data, size_t len)
Definition: hash.h:34
int GetVersion() const
Definition: hash.h:129