Получение разных дайджестов сообщений из того, что кажется одним и тем же вводом - PullRequest
0 голосов
/ 11 октября 2018

Обратите внимание на следующий код.Я ожидаю, что окончательный печатный дайджест будет таким же, как и последний написанный.Но когда я запускаю следующий код, я получаю два разных дайджеста сообщений:

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.

...