对于哈希类型,方法sipHash24()未定义

时间:2016-02-08 07:58:18

标签: java maven guava

我尝试使用google guava中的sipHash24()哈希函数,但它出现了以下错误,

对于Hashing类型

,方法sipHash24()未定义

我已将guava依赖项包含在我的pom.xml中

<dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>19.0</version>
</dependency>

我尝试按以下方式添加sipHash24() -

Hasher metaHash = Hashing.sipHash24().newHasher();

而不是sipHash24(),允许使用其他哈希值,例如murmur3_128()或md5,但我只想使用sipHash24(),因为它是给定列表中唯一的64位哈希值。

我能够在我的另一个项目中使用sipHash,我使用gradle构建项目。

2 个答案:

答案 0 :(得分:1)

听起来你的类路径上有两个版本的Guava,一个有Hashing.sipHash24()(&gt; = Guava 15.0),另一个没有它(&lt; Guava 14.0)。

答案 1 :(得分:0)

您需要一个值来获取其哈希输出。因此,每个方法(例如putLong(long l)putString(String s) ....都需要输入(您计算其哈希值的输入)。

此外,您可以使用最简化的方法,因此您可以重用HashFunction并在需要时输入更少的代码。

HashFunction sipHash = com.google.common.hash.Hashing.sipHash24();
String hash = sipHash.hashLong(3213123L).toString();

请确保您使用的是最新的Guava版本。