如何仅从文件中获取MD5,SHA和其他哈希值?我有100mb的文件,所以我不想多次处理这些100MB的文件。
最佳答案
这是使用 @ʞɔıu
's answer修改的 @Jason S
' suggestion。
from __future__ import with_statement
from hashlib import md5, sha1
filename = 'hash_one-pass.py'
hashes = md5(), sha1()
chunksize = max(4096, max(h.block_size for h in hashes))
with open(filename, 'rb') as f:
while True:
chunk = f.read(chunksize)
if not chunk:
break
for h in hashes:
h.update(chunk)
for h in hashes:
print h.name, h.hexdigest()
关于python - 如何仅使用一次通过就可以创建文件的多个哈希?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/537542/