Added binary ANDs with 0xffL to ensure only 8 bits are considered

As the data used to generate the test vectors only contain non negative byte values, the bug the commits in this pull request corrects went by undetected.

When converting a negative byte value to long, all 56 upper bits are set to 1 and not 0, thus leading to incorrect hash computations.

This pull requests corrects that problem by ANDing byte values with 0xffL prior to using them.