diff --git a/src/core/calculate_md5.js b/src/core/calculate_md5.js index f5ec45f94..4f09b0a1b 100644 --- a/src/core/calculate_md5.js +++ b/src/core/calculate_md5.js @@ -64,17 +64,15 @@ function calculateMD5(data, offset, length) { } padded[i++] = 0x80; const n = paddedLength - 8; - while (i < n) { - padded[i++] = 0; + if (i < n) { + i = n; } padded[i++] = (length << 3) & 0xff; padded[i++] = (length >> 5) & 0xff; padded[i++] = (length >> 13) & 0xff; padded[i++] = (length >> 21) & 0xff; padded[i++] = (length >>> 29) & 0xff; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; + i += 3; const w = new Int32Array(16); const { k, r } = PARAMS; for (i = 0; i < paddedLength; ) { diff --git a/src/core/calculate_sha256.js b/src/core/calculate_sha256.js index 4a6ef652a..29af39d28 100644 --- a/src/core/calculate_sha256.js +++ b/src/core/calculate_sha256.js @@ -84,12 +84,10 @@ function calculateSHA256(data, offset, length) { } padded[i++] = 0x80; const n = paddedLength - 8; - while (i < n) { - padded[i++] = 0; + if (i < n) { + i = n; } - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; + i += 3; padded[i++] = (length >>> 29) & 0xff; padded[i++] = (length >> 21) & 0xff; padded[i++] = (length >> 13) & 0xff; diff --git a/src/core/calculate_sha_other.js b/src/core/calculate_sha_other.js index f5c74e0e4..b9badacaa 100644 --- a/src/core/calculate_sha_other.js +++ b/src/core/calculate_sha_other.js @@ -287,20 +287,10 @@ function calculateSHA512(data, offset, length, mode384 = false) { } padded[i++] = 0x80; const n = paddedLength - 16; - while (i < n) { - padded[i++] = 0; + if (i < n) { + i = n; } - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; - padded[i++] = 0; + i += 11; padded[i++] = (length >>> 29) & 0xff; padded[i++] = (length >> 21) & 0xff; padded[i++] = (length >> 13) & 0xff;