这是一个murmer哈希示例:
>>> import mmh3
>>> seq = "AGTCGCTGA"
>>> seq_hash = mmh3.hash64(seq, seed=0, signed=False)
>>> seq_hash
(12042475613054376161, 7271345330980536087)
我的主要问题是,是否有可能颠倒mmh3哈希来获得原始序列?
我的第二个问题是输出的两个值之间有什么区别?
是否可以从AGTCGCTGA
取回12042475613054376161
?
MurmurHash不符合密码标准,并且有可能将其反转(或至少找到产生相同哈希的序列-实际上可能不是最初产生哈希的序列)。您可以找到一个C实现here。我不知道Python中是否有任何现有的公共可用实现。 输出的两个值是哈希的两个部分。 hash64
使用128位版本的MurmurHash,因此seq
的整个哈希是两个64位输出的串联。
是否可以从12042475613054376161返回AGTCGCTGA?