是否可以使用mmh3反转Python中的MurmurHash?

问题描述 投票:-1回答:2

这是一个murmer哈希示例:

>>> import mmh3
>>> seq = "AGTCGCTGA"
>>> seq_hash = mmh3.hash64(seq, seed=0, signed=False)
>>> seq_hash
(12042475613054376161, 7271345330980536087)

我的主要问题是,是否有可能颠倒mmh3哈希来获得原始序列?

我的第二个问题是输出的两个值之间有什么区别?

是否可以从AGTCGCTGA取回12042475613054376161

python hash hashtable hashcode seq
2个回答
0
投票

MurmurHash不符合密码标准,并且有可能将其反转(或至少找到产生相同哈希的序列-实际上可能不是最初产生哈希的序列)。您可以找到一个C实现here。我不知道Python中是否有任何现有的公共可用实现。 输出的两个值是哈希的两个部分。 hash64使用128位版本的MurmurHash,因此seq的整个哈希是两个64位输出的串联。


0
投票
是否可以从12042475613054376161返回AGTCGCTGA?
© www.soinside.com 2019 - 2024. All rights reserved.