因此,我有一个名为data.tst
的恶意软件示例,并使用hashlib
模块使用python对其进行了哈希处理,如下所示:
def get_hash(name, hash_type, chunk_size=65536):
if hash_type.lower() == "sha256":
h = hashlib.sha256()
elif hash_type.lower() == "md5":
h = hashlib.md5()
elif hash_type.lower() == "sha1":
h = hashlib.sha1()
elif hash_type.lower() == "imphash":
return pefile.PE(name).get_imphash()
else:
h = hashlib.sha256()
with open(name) as data:
block = data.read(chunk_size)
while len(block) > 0:
h.update(block)
block = data.read(chunk_size)
return h.hexdigest()
生成哈希后,我使用SHA256获得以下值:1993322ebde08bdab69c0efbcc22ba4173e8ece04f35e1f70ca55ea7c90fbcd3
。但是,该示例之前已提交,并且已哈希化为以下值:aa5f607076433086f6259131c4ba155b6f2587569f7fb0f21a0a4cdda225bd98
是否有一个原因,我的哈希值相差太大,上述代码中是否存在某些可以做得更好以产生正确值的原因?哈希?