Изменить строку с формата sha256().digest() на sha256().hexdigest() Python 2.7

Я получил пакет из сокета UDP. Последние 64 байта пакета представляют собой цифровую подпись RSA-512 SHA-256. Используя struct.unpack(), я могу вывести его в строку.

Когда я печатаю строку, она выглядит как «Output_1».

Я хочу, чтобы строка выглядела как «Output_2»

from hashlib import sha256

h = sha256()
h.update("Some sample string here!")
print 'Output_1:', h.digest()
print 'Output_2:', h.hexdigest()

Итак, учитывая строку, которая является выходом h.digest(), можно ли ее загрузить в hashlib.sha256() и распечатать как h.hexdigest()?


person sudhansh_    schedule 20.02.2018    source источник
comment
Когда я печатаю строку, она выглядит как «Output_1». Я хочу, чтобы строка выглядела как «Output_2». Я думаю, там чего-то не хватает?   -  person    schedule 20.02.2018
comment
Вы знаете, в каком формате должны быть эти 64 входных байта? Вы также не показываете свой код распаковки.   -  person    schedule 20.02.2018
comment
Предлагаемый дубликат спрашивает о Python 3, но помеченный ответ (хотя и немного устаревший для Python 3) отлично работает для Python 2.   -  person    schedule 20.02.2018
comment
Я пробовал кодировать/декодировать utf-8, но получаю сообщение об ошибке, что какое-то значение выходит за пределы допустимого диапазона (больше 128). В хеше есть значения байтов больше 128.   -  person sudhansh_    schedule 20.02.2018
comment
Ответ, который вы дали при использовании hexlify, работал, удаляя методы кодирования/декодирования с конца. Я передал необработанные данные в hexlify, и это сработало, как и ожидалось.   -  person sudhansh_    schedule 20.02.2018
comment
Упс; Я упустил из виду биты кодирования/декодирования. Технически вы могли бы поместить окончательное решение Python 2 в качестве ответа на этот вопрос, так как это всего лишь половина своего рода дубликата. Со ссылкой на предложенный дублирующий ответ.   -  person    schedule 20.02.2018
comment
NB: это, конечно, не имеет ничего общего с sha256 и тому подобным; ваш вопрос в основном о том, как преобразовать байты в шестнадцатеричное представление.   -  person    schedule 20.02.2018