Fixed incorrect result when file size >= 4G.

This commit is contained in:
Yi-Cyuan Chen
2017-10-29 21:22:00 +08:00
parent 24d8eb504d
commit cb8eb73ef1
11 changed files with 43 additions and 25 deletions
+8 -4
View File
@@ -30,7 +30,7 @@
* [js-md5]{@link https://github.com/emn178/js-md5}
*
* @namespace md5
* @version 0.7.0
* @version 0.7.1
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
@@ -226,7 +226,7 @@
this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
}
this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = 0;
this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;
this.finalized = this.hashed = false;
this.first = true;
}
@@ -330,6 +330,10 @@
}
this.lastByteIndex = i;
this.bytes += i - this.start;
while (this.bytes > 4294967295) {
++this.hBytes;
this.bytes -= 4294967296;
}
if (i >= 64) {
this.start = i - 64;
this.hash();
@@ -359,7 +363,7 @@
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
}
blocks[14] = this.bytes << 3;
blocks[15] = this.bytes >> 29;
blocks[15] = this.hBytes << 3 | this.bytes >> 29;
this.hash();
};
@@ -721,7 +725,7 @@
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 29 2017 20:15:53 GMT+0800 (CST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 29 2017 21:21:25 GMT+0800 (CST)
</footer>
<script> prettyPrint(); </script>