【发布时间】:2010-12-24 14:27:01
【问题描述】:
我正在尝试计算文件的 SHA-1 值。
我编造了这个脚本:
def hashfile(filepath):
sha1 = hashlib.sha1()
f = open(filepath, 'rb')
try:
sha1.update(f.read())
finally:
f.close()
return sha1.hexdigest()
对于特定文件,我得到这个哈希值:8c3e109ff260f7b11087974ef7bcdbdc69a0a3b9
但是当我用 git hash_object 计算值时,我得到这个值:d339346ca154f6ed9e92205c3c5c38112e761eb7
它们为什么不同?我做错了什么,还是我可以忽略其中的差异?
【问题讨论】:
-
如果您打算同时使用哈希值,就不能真正忽略其中的区别。
-
忘了说,只是用git作为参考,不打算一起用。
-
如果文件可能非常大,您可以一次处理一个块,这样您就不需要一次在 RAM 中处理整个文件:stackoverflow.com/questions/7829499/…
-
How does git compute file hashes? 的可能重复 最小示例 ;-)