为什么以下代码不生成至少几个相同的MD5字符串:
import hashlib
import time
hasher = hashlib.md5()
def calcHash():
localtime = time.localtime()
timeString = time.strftime("%Y-%m-%d-%H-%M-%S", localtime)
print(timeString)
hasher.update(timeString.encode('utf-8'))
print("Calculated: " + hasher.hexdigest())
for i in range(1,10):
calcHash()
我不是将时间戳,而是将生成的字符串输入哈希程序。如果我将同一个字符串输入哈希器两次,我会期望得到相同的MD5哈希
2015-04-26-09-50-24 Calculated: 52cae4a4231c812e5b79102a55721282 2015-04-26-09-50-24 Calculated: 0329298a8a18246fc1fc2f9878252dcf 2015-04-26-09-50-24 Calculated: 3db4562ca628a76c863f1308b8c41b04 2015-04-26-09-50-24 Calculated: 51c482a637405897cd5d91f2145e424f 2015-04-26-09-50-24 Calculated: 297eb85857fc85533a785fb13c200bdc 2015-04-26-09-50-24 Calculated: 4288a660c70ee9ed40a8e7611176af91 2015-04-26-09-50-24 Calculated: 4b998d607dba97578447d21cd82f6f33 2015-04-26-09-50-24 Calculated: 45b93b13df62be5e3616ee89b7e803cc 2015-04-26-09-50-24 Calculated: 0dbce249b10195b2a28b1825032e455c
您没有重置哈希程序。因此,随后的散列是累积字符串的散列
更改为:
相关问题 更多 >
编程相关推荐