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.
This commit is contained in:
Wladimir J. van der Laan 2016-04-09 07:39:35 +02:00
parent 73fc922ed6
commit 9ad1a51857
4 changed files with 4 additions and 4 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;