Я генерирую ha sh с помощью hashlib.md5 в обоих: python2 и python3. python2 выводит строку, а python3 выводит байты. Я должен использовать кодировку «latin1» в строке в python3, чтобы соответствовать кодировке по умолчанию python2.
Я хочу быть уверен, что python3 выводит тот же результат, что и python2, и использовать строку для дальнейшей обработки.
Вопрос: Как обеспечить / преобразовать строку вывода md5?
Причина в том, что мой python2 является допустимым выводом, и я переношу скрипт с py2 на py3, поэтому хотел бы проверить вывод, но на данный момент я не могу сравнить байты со строкой.
python2:
import hashlib
s = "fred"
hashlib.md5("fred").digest()
out: 'W \ n \ x90 \ xbf \ xbf \ x8c ~ \ xab] \ xc5 \ xd4 \ xe2h2 \ xd5 \ xb1 '
python3:
import hashlib
s = "fred"
hashlib.md5("fred".encode("latin1")).digest()
out: b'W \ n \ x90 \ xbf \ xbf \ x8c ~ \ xab] \ xc5 \ xd4 \ xe2h2 \ xd5 \ xb1 '