ssdeep 库的 Python 包装器
项目描述
ssdeep Python 包装器
这是Jesse Kornblum为 ssdeep 编写的一个简单的 Python 包装器,它是一个用于计算上下文触发的分段散列 (CTPH) 的库。CTPH 也称为模糊哈希,可以匹配具有同源性的输入。这样的输入具有相同顺序的相同字节序列,尽管这些序列之间的字节在内容和长度上可能不同。
如何使用它
要计算模糊哈希,请使用哈希函数:
>>> import ssdeep
>>> hash1 = ssdeep.hash('Also called fuzzy hashes, Ctph can match inputs that have homologies.')
>>> hash1
'3:AXGBicFlgVNhBGcL6wCrFQEv:AXGHsNhxLsr2C'
>>> hash2 = ssdeep.hash('Also called fuzzy hashes, CTPH can match inputs that have homologies.')
>>> hash2
'3:AXGBicFlIHBGcL6wCrFQEv:AXGH6xLsr2C'
compare函数返回 2 个哈希之间的匹配,一个从 0(不匹配)到 100 的整数值。
>>> ssdeep.compare(hash1, hash2)
22
python-ssdeep 文档中提供了更多示例。
安装
如果满足所有要求,则可以使用 pip 或 easy_install 安装包装器。
$ pip install ssdeep
如果未安装 ssdeep 库,构建将失败。要使用包含的 ssdeep 库版本,请使用以下命令。
$ BUILD_LIB=1 pip install ssdeep
有关更多信息,请查看python-ssdeep 文档。
测试…
CentOS 7
Debian 8、9
Ubuntu 14.04、16.04、18.04
文档
随意使用 prebuild python-ssdeep 文档或使用以下步骤来构建文档。
$ cd docs
$ pip install -r requirements.txt
$ make html
许可
该代码根据 LGPLv3+ 的条款获得许可。
此包装器包括ssdeep 版本 2.14.1的未更改源分发。它在 GPLv2 下获得许可。