public static long hash64(long data) {
    long hash = DEFAULT_SEED;
    long k = Long.reverseBytes(data);
    int length = Long.BYTES;
    // mix functions
    k *= C1;
    k = Long.rotateLeft(k, R1);
    k *= C2;
    hash ^= k;
    hash = Long.rotateLeft(hash, R2) * M + N1;
    // finalization
    hash ^= length;
    hash = fmix64(hash);
    return hash;
  }
Murmur3 64-bit variant. This is essentially MSB 8 bytes of Murmur3 128-bit variant.

@param data - input byte array
@return - hashcode
storage-api/src/java/org/apache/hive/common/util/Murmur3.java