python库杂音的documentation有点稀疏。在
我一直在尝试改编this的代码答案:
import hashlib
from functools import partial
def md5sum(filename):
with open(filename, mode='rb') as f:
d = hashlib.md5()
for buf in iter(partial(f.read, 128), b''):
d.update(buf)
return d.hexdigest()
print(md5sum('utils.py'))
从我读到的答案来看,md5不能一次操作整个文件,所以它需要这个循环。但是,不确定第d.update(buf)
行会发生什么。在
hashlib.md5()
中的公共方法是:
鉴于mmh3
有
'hash',
'hash64',
'hash_bytes'
没有update
或hexdigest
方法。。在
有人知道如何取得类似的结果吗?在
其动机是尽可能快地测试其唯一性,结果表明杂音是一个很好的候选者。在
更新-
在@Bakuriu的评论之后,我看了一下mmh3,它似乎有更好的文档记录。在
其中的公共方法是:
import mmh3
print([x for x in dir(mmh3) if x[0]!='_'])
>>> ['hash', 'hash128', 'hash64', 'hash_bytes', 'hash_from_buffer']
…所以没有“更新”方法。我看了mmh3.hash_from_buffer
的源代码,但它看起来不包含循环,而且它也不在Python中,不能真正遵循它。这是一个link to the line
所以现在只使用CRC-32,它应该和CRC-32一样好,它是well documented how to do it。如果有人发布了一个解决方案,将对其进行测试。在
目前没有回答
相关问题 更多 >
编程相关推荐