保持更改为不同的哈希 md5

Keep change to different hash md5

import ftplib
import hashlib
import httplib
import pytz
import datetime

localtime = datetime.datetime.now(pytz.timezone('Asia/Singapore')).isoformat()
cam = "hi5"
lscam = localtime + cam
ftp = ftplib.FTP('localhost','username','password')
ftp.cwd('Server')
m=hashlib.md5()
file = open('Desktop/frame00000.png','rb')
m.update(lscam)
dd=m.hexdigest()
ftp.storbinary('STOR '+dd, file)
file.close()
ftp.quit()

我如何为 "lscam" 生成实际的 MD5 散列,因为上面的代码一直给我 "weird" md5 散列码,而这甚至不是 "lscam" 的实际散列。有人可以帮忙吗?

您的 lscam 变量是等格式 datetime.datetime.now()cam.

的串联

因为 now() 显然 returns 每次你 运行 脚本的值不同,md5 每次都是不同的。

但是,如果您使用相同的 lscam 值计算两次哈希,您将得到相同的结果(如预期的那样)。

小例子:

>>> import datetime
>>> import pytz
>>> import hashlib
>>> now = datetime.datetime.now(pytz.timezone('Asia/Singapore')).isoformat()
>>> later = datetime.datetime.now(pytz.timezone('Asia/Singapore')).isoformat()
>>> m1 = hashlib.md5()
>>> m2 = hashlib.md5()
>>> m1.update(now)
>>> m2.update(later)
>>> m1.digest() == m2.digest()
False