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: private:
uint32_t s[5]; uint32_t s[5];
unsigned char buf[64]; unsigned char buf[64];
size_t bytes; uint64_t bytes;
public: public:
static const size_t OUTPUT_SIZE = 20; static const size_t OUTPUT_SIZE = 20;

View File

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

View File

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

View File

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