crypto: bytes counts are 64 bit

Byte counts for SHA256, SHA512, SHA1 and RIPEMD160 must be 64 bits.
`size_t` has a different size per platform, causing divergent results
when hashing more than 4GB of data.
pull/7848/head
Wladimir J. van der Laan 9 years ago
parent 73fc922ed6
commit 9ad1a51857

@ -14,7 +14,7 @@ class CRIPEMD160
private:
uint32_t s[5];
unsigned char buf[64];
size_t bytes;
uint64_t bytes;
public:
static const size_t OUTPUT_SIZE = 20;

@ -14,7 +14,7 @@ class CSHA1
private:
uint32_t s[5];
unsigned char buf[64];
size_t bytes;
uint64_t bytes;
public:
static const size_t OUTPUT_SIZE = 20;

@ -14,7 +14,7 @@ class CSHA256
private:
uint32_t s[8];
unsigned char buf[64];
size_t bytes;
uint64_t bytes;
public:
static const size_t OUTPUT_SIZE = 32;

@ -14,7 +14,7 @@ class CSHA512
private:
uint64_t s[8];
unsigned char buf[128];
size_t bytes;
uint64_t bytes;
public:
static const size_t OUTPUT_SIZE = 64;

Loading…
Cancel
Save