You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在hashlib.file_digest中使用xxhash计算大文件哈希?

用xxhash快速计算大文件哈希的可行实现

hashlib模块并没有内置xxhash算法,所以你直接调用file_digest(f, 'xxhash')肯定会报错。要使用xxhash,得先安装第三方的xxhash库:

pip install xxhash

下面是针对大文件的xxhash计算实现,和你原来的sha256逻辑一致,采用分块读取避免内存占用过高:

import xxhash

def xxhashsum(filename, algorithm='xxh64'):
    # 可选算法:xxh3、xxh64、xxh32,其中xxh3速度最快
    hash_obj = getattr(xxhash, algorithm)()
    with open(filename, 'rb', buffering=0) as f:
        while chunk := f.read(65536):  # 64KB分块读取,可根据内存调整
            hash_obj.update(chunk)
    return hash_obj.hexdigest()

使用示例:

# 计算xxh3哈希(速度最快)
print(xxhashsum('large_file.bin', 'xxh3'))
# 计算xxh64哈希
print(xxhashsum('large_file.bin'))

如果追求极致速度,优先选xxh3算法,它在大文件场景下的性能比xxh64还要高出不少,完全能满足快速文件对比的需求。

内容的提问来源于stack exchange,提问作者YGA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 03:12:02