【发布时间】:2011-02-15 16:50:59
【问题描述】:
我有很多很多文件要上传到服务器,我只是想要一种避免重复的方法。
因此,从大字符串生成唯一且小的键值似乎是校验和的目的,hashing seemed like the evolution of that。
所以我打算使用哈希 md5 来执行此操作。但后来我读到 somewhere 说“MD5 并不意味着是唯一键”,我觉得这真的很奇怪。
正确的做法是什么?
编辑: 顺便说一句,我使用two sources 进行以下操作,这就是我目前正在做的事情,并且使用 Python 2.5 运行良好:
import hashlib
def md5_from_file (fileName, block_size=2**14):
md5 = hashlib.md5()
f = open(fileName)
while True:
data = f.read(block_size)
if not data:
break
md5.update(data)
f.close()
return md5.hexdigest()
【问题讨论】:
-
使用 "f = open(fileName, 'rb')" 在 Windows 上获得正确的结果
标签: python hash cryptography checksum unique-key