如何仅从文件中获取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/

10-14 18:21