我试图使用谷歌番石榴的sipHash24()哈希函数,它给出了以下错误,
类型散列的方法sipHash24()未定义。
我在我的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构建了这个项目。
发布于 2016-02-08 22:37:46
听起来您的类路径上有两个版本的番石榴,一个带有Hashing.sipHash24() (>=番石榴15.0),另一个没有它(< >= 14.0)。
发布于 2016-02-08 08:22:09
您需要一个值来获得它的散列输出。因此,每个方法,如putLong(long l)、putString(String s) .需要输入(计算其散列的输入)。
另外,您可以使用最简化的方法,因此您可以重用HashFunction并在需要时键入更少的代码。
HashFunction sipHash = com.google.common.hash.Hashing.sipHash24();
String hash = sipHash.hashLong(3213123L).toString();只需确保您正在使用最新的番石榴版本。
https://stackoverflow.com/questions/35264767
复制相似问题