Следующий фрагмент представляет основное использование python hashlib.md5
(in py2.7).python hashlib.md5 escape-символы
>>> import hashlib
>>> m = hashlib.md5()
>>> m.update('phrase')
>>> m.digest()
'8Z\xa58^\x83\xef\xc5\xd8<u\x88\xee_\xb7\xe8'
>>> type(m.digest())
<type 'str'>
У меня есть два вопроса:
- как я могу преобразовать шестнадцатеричное представление в текст читабельной?
- В чем причина того, что python не возвращает простой хэш, например
385aa5385e83efc5d83c7588ee5fb7e8
? Для чего это экранированное шестнадцатеричное представление?
Вы действительно после 'm.hexdigest()'? Бинарная версия больше подходит для операций с битами и в два раза меньше, чем читаемая человеком версия ... –
Также вы можете вывести ее с помощью встроенной функции repr (полезно, когда у вас проблемы с выходом строки, для пример в шаблоне Jinja2): 'repr (m.digest())' – sergzach