使用加密Python库获取文件的MD5

问题描述 投票:0回答:1

我需要使用加密库从文件中获取 MD5,这是我所拥有的:

from cryptography.hazmat.primitives import hashes
archivos = input()
with open(archivos, "rb") as f:
    bfile = f.read()
    print(bfile)
    readable_hash = hashes.Hash(hashes.MD5())
    readable_hash.update(bfile)
    readable_hash.finalize()
    print(readable_hash)

当我打印 bfile 时,我得到了这个,这就是我需要哈希为 MD5 的内容:

b'RGBX\x01\x00\x00\x00X\x00b\x00o\x00x\x00G\x00a\x00m\x00e\x00s\x00\x00\x00'

当我尝试打印 read_hash 假设它包含 MD5 时,我得到了这个:

<cryptography.hazmat.primitives.hashes.Hash object at 0x000001EE89A17F10>
python-3.x checksum python-cryptography md5-file
1个回答
0
投票

您可以使用

binascii.b2a_hex
:

将其转换为人类可读的字符串

返回二进制数据的十六进制表示。每个字节的数据都会转换为相应的 2 位十六进制表示形式。因此,返回的字节对象的长度是数据长度的两倍。

import binascii

# ...
data = readable_hash.finalize()
md5_hash = binascii.b2a_hex(data).decode()

print(f"MD5 hash = {md5_hash}")
© www.soinside.com 2019 - 2024. All rights reserved.