我得到了很多很多文件上傳到服務器,我只是想避免重複的方法。根據python中的文件內容創建一個唯一的密鑰
因此,從一個大字符串生成一個唯一的小鍵值似乎是校驗和的意圖,hashing seemed like the evolution of that。
所以我打算使用散列md5來做到這一點。但後來我讀somewhere「MD5並不是唯一的鍵」,我覺得這很奇怪。
這樣做的正確方法是什麼?
編輯:順便說一下,我把twosources去以下,這是我當前如何做它和它的工作只是罰款,與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上獲得正確的結果 – DLRdave 2012-01-05 15:04:59