md5的一个小坑
2019-01-21 本文已影响0人
丷菜菜呀
import hashlib
name ='jooooo'
md5 = hashlib.md5()
重复打印五次加密结果
for iin range(5):
md5.update(name.encode())
print(md5.hexdigest())
26fa44ee166808ce91ebe904115d6dc3
4b1b89254695662f91073dc8396fedfe
7e8861b89933a2d0d36e6c7b273938f0
ffb3384a6d3cb7ff701dc518fe7efdfa
5797bcedfea7322ec5557eb0b540b4ac
同一数据经过多次加密,发现结果不同,与预期结果不符,因为使用的是同一md5对象,而同一个md5对象进行加密,每次加密结果都会加入下一次加密,自然会产生与预期不同的结果;而要实现预期结果,需要每次加密都新建一个md5对象。
修改代码:
name ='jooooo'
for iin range(5):
md5 = hashlib.md5()
md5.update(name.encode())
print(md5.hexdigest
结果如下:
26fa44ee166808ce91ebe904115d6dc3
26fa44ee166808ce91ebe904115d6dc3
26fa44ee166808ce91ebe904115d6dc3
26fa44ee166808ce91ebe904115d6dc3
26fa44ee166808ce91ebe904115d6dc3
与预期相符,成功实现加密目的。