我想比较两个文件的哈希值。但是不管文件是否不同,即使是不同的哈希值比较结果 True
这是代码:
import hashlib
hasher1 = hashlib.md5()
afile1 = open('canvas.png', 'rb')
buf1 = afile1.read()
a = hasher1.update(buf1)
print(str(hasher1.hexdigest()))
hasher2 = hashlib.md5()
afile2 = open('img5.png', 'rb')
buf2 = afile2.read()
b = hasher2.update(buf2)
print(str(hasher2.hexdigest()))
print(str(a) == str(b))
输出:
614c9853a7f62c5b60d7d15bde80708f
76dc116b2c1b19b265db5e657846e649
True
Process finished with exit code 0
原文由 VAGrus 发布,翻译遵循 CC BY-SA 4.0 许可协议
作为一般规则,Python 方法遵循 命令-查询分离 原则——以便修改对象(即命令)的方法返回
None
。例如,这包括list.sort
和dict.update
。hasher1.update
方法也是如此。所以将
None
分配给a
。相反,使用和
b
类似。