com.google.common.hash.Hashing.murmur3_32()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(251)

本文整理了Java中com.google.common.hash.Hashing.murmur3_32()方法的一些代码示例,展示了Hashing.murmur3_32()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Hashing.murmur3_32()方法的具体详情如下:
包路径:com.google.common.hash.Hashing
类名称:Hashing
方法名:murmur3_32

Hashing.murmur3_32介绍

[英]Returns a hash function implementing the 32-bit murmur3 algorithm, x86 variant (little-endian variant), using a seed value of zero.

The exact C++ equivalent is the MurmurHash3_x86_32 function (Murmur3A).
[中]返回实现32-bit murmur3 algorithm, x86 variant(小端变量)的哈希函数,使用零种子值。
确切的C++等效是MurMHHAS3XX86Y32函数(MurMur3a)。

代码示例

代码示例来源:origin: thinkaurelius/titan

@Override
  public HashFunction get() {
    return Hashing.murmur3_32();
  }
},

代码示例来源:origin: JanusGraph/janusgraph

@Override
  public HashFunction get() {
    return Hashing.murmur3_32();
  }
},

代码示例来源:origin: Graylog2/graylog2-server

@Override
protected String getDigest(String value) {
  return Hashing.murmur3_32().hashString(value, StandardCharsets.UTF_8).toString();
}

代码示例来源:origin: google/guava

@Override
 public byte[] hash(byte[] input, int seed) {
  return murmur3_32(seed).hashBytes(input).asBytes();
 }
};

代码示例来源:origin: google/guava

@SuppressWarnings("deprecation")
public void testSimpleStringUtf8() {
 assertEquals(
   murmur3_32().hashBytes("ABCDefGHI\u0799".getBytes(Charsets.UTF_8)),
   murmur3_32().hashString("ABCDefGHI\u0799", Charsets.UTF_8));
}

代码示例来源:origin: google/guava

@SuppressWarnings("deprecation")
public void testInvalidUnicodeHashString() {
 String str =
   new String(
     new char[] {'a', Character.MIN_HIGH_SURROGATE, Character.MIN_HIGH_SURROGATE, 'z'});
 assertEquals(
   murmur3_32().hashBytes(str.getBytes(Charsets.UTF_8)),
   murmur3_32().hashString(str, Charsets.UTF_8));
}

代码示例来源:origin: springside/springside4

/**
 * 对输入字符串进行murmur32散列, 返回值可能是负数
 */
public static int murmur32AsInt(@NotNull String input) {
  return Hashing.murmur3_32(MURMUR_SEED).hashString(input, Charsets.UTF_8).asInt();
}

代码示例来源:origin: springside/springside4

/**
 * 对输入字符串进行murmur32散列, 返回值可能是负数
 */
public static int murmur32AsInt(@NotNull byte[] input) {
  return Hashing.murmur3_32(MURMUR_SEED).hashBytes(input).asInt();
}

代码示例来源:origin: google/guava

public void testMurmur3_32() {
 HashTestUtils.check2BitAvalanche(Hashing.murmur3_32(), 250, 0.20);
 HashTestUtils.checkAvalanche(Hashing.murmur3_32(), 250, 0.17);
 HashTestUtils.checkNo2BitCharacteristics(Hashing.murmur3_32());
 HashTestUtils.checkNoFunnels(Hashing.murmur3_32());
 HashTestUtils.assertInvariants(Hashing.murmur3_32());
 assertEquals("Hashing.murmur3_32(0)", Hashing.murmur3_32().toString());
}

代码示例来源:origin: google/guava

public void testInvalidUnicodeHasherPutString() {
  String str =
    new String(
      new char[] {'a', Character.MIN_HIGH_SURROGATE, Character.MIN_HIGH_SURROGATE, 'z'});
  assertEquals(
    murmur3_32().hashBytes(str.getBytes(Charsets.UTF_8)),
    murmur3_32().newHasher().putString(str, Charsets.UTF_8).hash());
 }
}

代码示例来源:origin: google/guava

public void testInvariants() {
 HashTestUtils.assertInvariants(murmur3_32());
}

代码示例来源:origin: google/guava

@Override
 public byte[] hash(byte[] input, int seed) {
  Hasher hasher = murmur3_32(seed).newHasher();
  Funnels.byteArrayFunnel().funnel(input, hasher);
  return hasher.hash().asBytes();
 }
};

代码示例来源:origin: google/guava

@SuppressWarnings("deprecation")
public void testStringInputsUtf8() {
 Random rng = new Random(0);
 for (int z = 0; z < 100; z++) {
  String str;
  int[] codePoints = new int[rng.nextInt(8)];
  for (int i = 0; i < codePoints.length; i++) {
   do {
    codePoints[i] = rng.nextInt(0x800);
   } while (!Character.isValidCodePoint(codePoints[i])
     || (codePoints[i] >= Character.MIN_SURROGATE
       && codePoints[i] <= Character.MAX_SURROGATE));
  }
  StringBuilder builder = new StringBuilder();
  for (int i = 0; i < codePoints.length; i++) {
   builder.appendCodePoint(codePoints[i]);
  }
  str = builder.toString();
  assertEquals(
    murmur3_32().hashBytes(str.getBytes(Charsets.UTF_8)),
    murmur3_32().hashString(str, Charsets.UTF_8));
 }
}

代码示例来源:origin: google/guava

public void testKnownStringInputs() {
 assertHash(0, murmur3_32().hashUnencodedChars(""));
 assertHash(679745764, murmur3_32().hashUnencodedChars("k"));
 assertHash(1510782915, murmur3_32().hashUnencodedChars("hell"));
 assertHash(-675079799, murmur3_32().hashUnencodedChars("hello"));
 assertHash(1935035788, murmur3_32().hashUnencodedChars("http://www.google.com/"));
 assertHash(
   -528633700, murmur3_32().hashUnencodedChars("The quick brown fox jumps over the lazy dog"));
}

代码示例来源:origin: google/guava

public void testKnownLongInputs() {
 assertHash(1669671676, murmur3_32().hashLong(0L));
 assertHash(-846261623, murmur3_32().hashLong(-42L));
 assertHash(1871679806, murmur3_32().hashLong(42L));
 assertHash(1366273829, murmur3_32().hashLong(Long.MIN_VALUE));
 assertHash(-2106506049, murmur3_32().hashLong(Long.MAX_VALUE));
}

代码示例来源:origin: google/guava

public void testConcatenatingHashFunction_makeHash() {
 byte[] md5Hash = Hashing.md5().hashLong(42L).asBytes();
 byte[] murmur3Hash = Hashing.murmur3_32().hashLong(42L).asBytes();
 byte[] combined = new byte[md5Hash.length + murmur3Hash.length];
 ByteBuffer buffer = ByteBuffer.wrap(combined);
 buffer.put(md5Hash);
 buffer.put(murmur3Hash);
 HashCode expected = HashCode.fromBytes(combined);
 assertEquals(
   expected, Hashing.concatenating(Hashing.md5(), Hashing.murmur3_32()).hashLong(42L));
 assertEquals(
   expected, Hashing.concatenating(asList(Hashing.md5(), Hashing.murmur3_32())).hashLong(42L));
}

代码示例来源:origin: google/guava

public void testKnownIntegerInputs() {
 assertHash(593689054, murmur3_32().hashInt(0));
 assertHash(-189366624, murmur3_32().hashInt(-42));
 assertHash(-1134849565, murmur3_32().hashInt(42));
 assertHash(-1718298732, murmur3_32().hashInt(Integer.MIN_VALUE));
 assertHash(-1653689534, murmur3_32().hashInt(Integer.MAX_VALUE));
}

代码示例来源:origin: google/guava

public void testConcatenating_equals() {
 new EqualsTester()
   .addEqualityGroup(Hashing.concatenating(asList(Hashing.md5())))
   .addEqualityGroup(Hashing.concatenating(asList(Hashing.murmur3_32())))
   .addEqualityGroup(
     Hashing.concatenating(Hashing.md5(), Hashing.md5()),
     Hashing.concatenating(asList(Hashing.md5(), Hashing.md5())))
   .addEqualityGroup(
     Hashing.concatenating(Hashing.murmur3_32(), Hashing.md5()),
     Hashing.concatenating(asList(Hashing.murmur3_32(), Hashing.md5())))
   .addEqualityGroup(
     Hashing.concatenating(Hashing.md5(), Hashing.murmur3_32()),
     Hashing.concatenating(asList(Hashing.md5(), Hashing.murmur3_32())))
   .testEquals();
}

代码示例来源:origin: google/guava

public void testConcatenatingIterable_bits() {
 assertEquals(
   Hashing.md5().bits() + Hashing.md5().bits(),
   Hashing.concatenating(asList(Hashing.md5(), Hashing.md5())).bits());
 assertEquals(
   Hashing.md5().bits() + Hashing.murmur3_32().bits(),
   Hashing.concatenating(asList(Hashing.md5(), Hashing.murmur3_32())).bits());
 assertEquals(
   Hashing.md5().bits() + Hashing.murmur3_32().bits() + Hashing.murmur3_128().bits(),
   Hashing.concatenating(asList(Hashing.md5(), Hashing.murmur3_32(), Hashing.murmur3_128()))
     .bits());
}

代码示例来源:origin: google/guava

public void testConcatenatingVarArgs_bits() {
 assertEquals(
   Hashing.md5().bits() + Hashing.md5().bits(),
   Hashing.concatenating(Hashing.md5(), Hashing.md5()).bits());
 assertEquals(
   Hashing.md5().bits() + Hashing.murmur3_32().bits(),
   Hashing.concatenating(Hashing.md5(), Hashing.murmur3_32()).bits());
 assertEquals(
   Hashing.md5().bits() + Hashing.murmur3_32().bits() + Hashing.murmur3_128().bits(),
   Hashing.concatenating(Hashing.md5(), Hashing.murmur3_32(), Hashing.murmur3_128()).bits());
}

相关文章