我想比较两个文件的散列。但不管文件是否不同,即使使用不同的散列比较结果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
作为一般规则,Python方法遵循command-query separation的原则,因此修改对象(即命令)的方法返回
None
。这包括, 例如,list.sort
,和dict.update
。这也适用于hasher1.update
方法。所以将
None
分配给a
。相反,使用对
b
来说也是如此。这对我有效:
相关问题 更多 >
编程相关推荐