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

Python计算文件SHA512哈希值出现异常输出,求排查帮助

问题排查与修复

你看到的输出不是异常,核心问题是没有调用hexdigest方法——你把方法对象本身赋值给了hash变量,所以打印时输出的是方法的内存地址信息。

修复后的代码

import hashlib

h = hashlib.sha512()

with open("baseline.txt", 'r') as f:
    contents = f.read()
    h.update(contents.encode('utf8'))
    hash_result = h.hexdigest()  # 这里要加括号调用方法

print(hash_result)

额外优化建议

  1. 删掉无用的from base64 import encode导入,你的代码里没用到它。
  2. 如果监控的文件较大,一次性读取整个文件可能占用过多内存,建议逐块读取更新哈希;同时用二进制模式打开文件,能避免编码差异导致的哈希不一致问题,更适合文件完整性校验场景:
import hashlib

h = hashlib.sha512()

with open("baseline.txt", 'rb') as f:
    while chunk := f.read(4096):  # 每次读取4KB块
        h.update(chunk)

hash_result = h.hexdigest()
print(hash_result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:18:18