MD5 散列与 ftplib

MD5 hash With ftplib

>>>import ftplib 
>>>import hashlib

>>>ftp = ftplib.FTP('localhost','username','password')
>>>ftp.cwd('Server')
'250 Directory successfully changed.'
>>>m=hashlib.md5()
>>> file = open('Desktop/space.png','rb')
>>> m.update("space.png")
>>> dd = m.hexdigest()
>>> dd
'f646cdee237bd84e33485eb03c9228ac'
>>> ftp.storbinary('STOR '+dd, file)
'226 Transfer complete.'
>>> file.close()
>>> ftp.quit()
'221 Goodbye.'
>>> 

如何存储不同的十六进制数字文件?由于此 Python 代码继续存储相同的十六进制数字文件。有人知道吗?

"space.png" 的 MD5 将始终为 f646cdee237bd84e33485eb03c9228ac。你没有解释你到底想做什么。如果您尝试使用作为 MD5 哈希值的唯一文件名,您可以尝试这样的操作。

import uuid
m.update(str(uuid.uuid4()))
dd = m.hexdigest()
ftp.storbinary('STOR '+dd, file)  

uuid.uuid4() 将生成一个全球唯一的标识符,其 MD5 哈希实际上是唯一的。