DESCRIPTION: Rogier van de Pol notified me that my implementation differed with several others on several test data sets he had tested against. This test vector data set is one Rogier provided to me that highlighted an off-by-one bug in my implementation that affected SHA-256/384/512 hashes where the data set length was of a certain length. In the case of SHA512 or SHA384, if the data length after subtracting 111 was an even multiple of 128 bytes, the bug surfaced. In the case of SHA256, after subtracting 55, the remaining length was an even multiple of 64, the bug surfaced. The fix was simple. In SHA512_Last() and in SHA256_Final() functions, I simply replaced a single "<" test with a "<=" test. Thanks, Rogier! (Total length of test vector data: 12271) FILE: vector017.dat SHA256: 88ee6ada861083094f4c64b373657e178d88ef0a4674fce6e4e1d84e3b176afb SHA384: 78cc6402a29eb984b8f8f888ab0102cabe7c06f0b9570e3d8d744c969db14397 f58ecd14e70f324bf12d8dd4cd1ad3b2 SHA512: 211bec83fbca249c53668802b857a9889428dc5120f34b3eac1603f13d1b4796 5c387b39ef6af15b3a44c5e7b6bbb6c1096a677dc98fc8f472737540a332f378