【发布时间】:2017-01-03 16:51:13
【问题描述】:
我需要在 Python 和 Scala 中对字符串进行 MurmurHash。然而,他们给出了非常不同的结果。 Scala 的内置 MurmurHash3 库似乎没有提供与我尝试过的任何其他库(包括在线库)相同的结果。奇怪的是它似乎匹配单个字符而不是多个字符。以下是一些示例:
Python:
mmh3.hash('string', 0)
res: -1390314837
斯卡拉:
MurmurHash3.stringHash("string", 0)
res: 379569354
我已经尝试过使用有符号和无符号整数,因为我知道 Java 已经签名,并且 python 正在包装的 C 实现正在使用无符号。但即使使用 NumPy 转换为带符号的 int 也无济于事。这个网站似乎同意python实现:
http://murmurhash.shorelabs.com/
关于这里可能发生什么的任何想法?
【问题讨论】:
标签: python scala encryption hash murmurhash