Обратите внимание на следующий код.Я ожидаю, что окончательный печатный дайджест будет таким же, как и последний написанный.Но когда я запускаю следующий код, я получаю два разных дайджеста сообщений:
b'Hello world!20' -> 0014bcc2a7237e128dd810f8c8b49371860cbd61e112865c6008081a20ba9a0d
b'Hello world!20' -> 69a4104786309d2d98957da1cebba060043118fd5113a12e43ce184a6d06c368
Вот код ...
import hashlib
m = hashlib.sha256()
for nonce in range(10000):
msg = b"Hello world!"+str(nonce).encode()
m.update(msg)
print(msg,"->", m.hexdigest())
if m.hexdigest() < "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":
break
n = hashlib.sha256()
n.update(b"Hello world!20")
print(b"Hello world!20", "->", n.hexdigest())
Я предполагаю, что есть некоторая проблема с кодировкойданных, которые вводятся в обновление hashlib.