python - 是否可以使用 mmh3 在 Python 中反转 MurmurHash?
问题描述
这是一个 murmer 哈希的示例:
>>> import mmh3
>>> seq = "AGTCGCTGA"
>>> seq_hash = mmh3.hash64(seq, seed=0, signed=False)
>>> seq_hash
(12042475613054376161, 7271345330980536087)
我的主要问题是是否可以反转 mmh3 哈希以获得原始序列?
我的第二个问题是输出的两个值有什么区别?
AGTCGCTGA
有可能从那里回来12042475613054376161
吗?
解决方案
是否可以从 12042475613054376161 取回 AGTCGCTGA?
这会在不到一秒的时间内完成:
from itertools import count, product
import mmh3
for length in count():
for seq in map(''.join, product('ACGT', repeat=length)):
seq_hash = mmh3.hash64(seq, seed=0, signed=False)
if seq_hash[0] == 12042475613054376161:
print(seq)
推荐阅读
- c++ - C++:实例化没有命名空间的对象
- c# - 当您有 GUID (UniqueIdentifier) 列时,C# 中的 SQL 批量插入
- here-api - 在“发现/探索”入口点中使用“类别 ID”来缩小结果范围
- c# - 来自数据表和 IList 的嵌套 JSON
- r - 以高分辨率绘制多行代码
- oracle - 更新索引列 Oracle
- webpack - 如何防止库被 UglifyJs 或 Terser Webpack 插件破坏?
- gcloud - 如何使用 gcloud 命令行启用单词置信度
- r - 如何使用 Data.table 处理 date.time
- ffmpeg - 创建仅音频再现 - 8KHz 16-bit little endian uncompressed.wav