我需要获取一个对象的Base64编码的MD5哈希值,其中对象是作为文件fname存储的图像。
我已经尝试过这样:
def get_md5(fname):
hash = hashlib.md5()
with open(fname) as f:
for chunk in iter(lambda: f.read(4096), ""):
hash.update(chunk)
return hash.hexdigest().encode('base64').strip()
然而,我认为这是不正确的,因为它返回的字符串字符太多了。我的理解是它需要有24个字符长度。我得到的结果是
NjJiM2RlOWMzOTYxYmM3MDI5Y2Q1NzdjOTQ5YWRlYTQ=
我也尝试了一些类似的方法,例如不使用块循环的方法。它们都返回相同的字符串。
我的后续操作需要使用Base64编码的MD5哈希,但失败了,我想这可能就是原因。