mirror of https://github.com/wolfSSL/wolfssl.git
fix digest hiLen using modded loLen on greater than 2^29 bits
parent
4c948e2ef7
commit
3744e2122f
|
@ -192,9 +192,9 @@ void Md4Final(Md4* md4, byte* hash)
|
|||
XMEMSET(&local[md4->buffLen], 0, MD4_PAD_SIZE - md4->buffLen);
|
||||
|
||||
/* put lengths in bits */
|
||||
md4->loLen = md4->loLen << 3;
|
||||
md4->hiLen = (md4->loLen >> (8*sizeof(md4->loLen) - 3)) +
|
||||
(md4->hiLen << 3);
|
||||
md4->loLen = md4->loLen << 3;
|
||||
|
||||
/* store lengths */
|
||||
#ifdef BIG_ENDIAN_ORDER
|
||||
|
|
|
@ -203,9 +203,9 @@ void Md5Final(Md5* md5, byte* hash)
|
|||
XMEMSET(&local[md5->buffLen], 0, MD5_PAD_SIZE - md5->buffLen);
|
||||
|
||||
/* put lengths in bits */
|
||||
md5->loLen = md5->loLen << 3;
|
||||
md5->hiLen = (md5->loLen >> (8*sizeof(md5->loLen) - 3)) +
|
||||
(md5->hiLen << 3);
|
||||
md5->loLen = md5->loLen << 3;
|
||||
|
||||
/* store lengths */
|
||||
#ifdef BIG_ENDIAN_ORDER
|
||||
|
|
|
@ -178,9 +178,9 @@ void ShaFinal(Sha* sha, byte* hash)
|
|||
XMEMSET(&local[sha->buffLen], 0, SHA_PAD_SIZE - sha->buffLen);
|
||||
|
||||
/* put lengths in bits */
|
||||
sha->loLen = sha->loLen << 3;
|
||||
sha->hiLen = (sha->loLen >> (8*sizeof(sha->loLen) - 3)) +
|
||||
(sha->hiLen << 3);
|
||||
sha->loLen = sha->loLen << 3;
|
||||
|
||||
/* store lengths */
|
||||
#ifdef LITTLE_ENDIAN_ORDER
|
||||
|
|
|
@ -182,9 +182,9 @@ void Sha256Final(Sha256* sha256, byte* hash)
|
|||
XMEMSET(&local[sha256->buffLen], 0, SHA256_PAD_SIZE - sha256->buffLen);
|
||||
|
||||
/* put lengths in bits */
|
||||
sha256->loLen = sha256->loLen << 3;
|
||||
sha256->hiLen = (sha256->loLen >> (8*sizeof(sha256->loLen) - 3)) +
|
||||
(sha256->hiLen << 3);
|
||||
sha256->loLen = sha256->loLen << 3;
|
||||
|
||||
/* store lengths */
|
||||
#ifdef LITTLE_ENDIAN_ORDER
|
||||
|
|
|
@ -221,9 +221,9 @@ void Sha512Final(Sha512* sha512, byte* hash)
|
|||
XMEMSET(&local[sha512->buffLen], 0, SHA512_PAD_SIZE - sha512->buffLen);
|
||||
|
||||
/* put lengths in bits */
|
||||
sha512->loLen = sha512->loLen << 3;
|
||||
sha512->hiLen = (sha512->loLen >> (8*sizeof(sha512->loLen) - 3)) +
|
||||
(sha512->hiLen << 3);
|
||||
sha512->loLen = sha512->loLen << 3;
|
||||
|
||||
/* store lengths */
|
||||
#ifdef LITTLE_ENDIAN_ORDER
|
||||
|
|
Loading…
Reference in New Issue