在python中哈希sha512文件的内容



所以我正在编写一个简单的文件完整性监视器。我试图对文件的内容进行散列,并将其存储为基线。这是我的代码:

from base64 import encode
import hashlib
h =hashlib.sha512()
with open ("baseline.txt", 'r') as f:
contents = f.read()
h.update(contents.encode('utf8'))
hash = h.hexdigest
print(hash)

这是我的输出:

<built-in method hexdigest of _hashlib.HASH object at 0x000001E3096B5250>

我不确定是什么原因导致输出出现这种情况。我怀疑这与我打开文件的方式和文件的格式有关。如果你能帮助我或为我指明正确的方向,那就太好了。

hexdigest是一个函数:(

尝试hash = h.hexdigest()

正如Guy所写,您需要使用h.hexdigest()(带括号(,这是因为在Python中,调用不带括号的函数会返回到内存中对象的链接。用圆括号调用可以执行函数代码。以下是有关它的更多信息

最新更新