Class MurmurHash3.IncrementalHash32

java.lang.Object
org.apache.commons.codec.digest.MurmurHash3.IncrementalHash32x86
org.apache.commons.codec.digest.MurmurHash3.IncrementalHash32
Enclosing class:
MurmurHash3

@Deprecated public static class MurmurHash3.IncrementalHash32 extends MurmurHash3.IncrementalHash32x86
Deprecated.
Use IncrementalHash32x86. This corrects the processing of trailing bytes.
Generates 32-bit hash from input bytes. Bytes can be added incrementally and the new hash computed.

This is an implementation of the 32-bit hash function MurmurHash3_x86_32 from Austin Appleby's original MurmurHash3 c++ code in SMHasher.

This implementation contains a sign-extension bug in the finalization step of any bytes left over from dividing the length by 4. This manifests if any of these bytes are negative.

  • Constructor Details

    • IncrementalHash32

      public IncrementalHash32()
      Deprecated.
  • Method Details

    • finalise

      @Deprecated int finalise(int hash, int unprocessedLength, byte[] unprocessed, int totalLen)
      Deprecated.
      Use IncrementalHash32x86. This corrects the processing of trailing bytes.
      Finalizes the running hash to the output 32-bit hash by processing remaining bytes and performing final mixing.

      This implementation contains a sign-extension bug in the finalization step of any bytes left over from dividing the length by 4. This manifests if any of these bytes are negative.

      Overrides:
      finalise in class MurmurHash3.IncrementalHash32x86
      Parameters:
      hash - The running hash
      unprocessedLength - The number of unprocessed bytes in the tail data.
      unprocessed - Up to 3 unprocessed bytes from input data.
      totalLen - The total number of input bytes added since the start.
      Returns:
      The 32-bit hash