Python 3 Создайте хеш md5

thmasker спросил: 28 марта 2018 в 03:04 в: python-3.x

Я должен декодировать следующие данные:

b'E\x00\x00 <\xed\x00\x00>\x01\x15\xe2\xac\x140f\xa1C\xacP\x00\x00\xf8V\x00\x07\x00\x07\x00\x01\x07\x9a'

в понятную строку. Для этого нам сказали использовать hashlib и md5. Но я не знаю, как использовать его для дешифрования этого сообщения.

Я пробовал что-то вроде этого:

message.hashlib().md5().decode()

Но я не получаю результат

1 ответ

Есть решение
tdelaney ответил: 28 марта 2018 в 05:27

Вы не можете добраться отсюда. Хеш - это небольшой рефакторинг данных, который уничтожает практически всю информацию в данных. Он используется для определения версии данных и может быть использован позже, чтобы увидеть, изменились ли данные. Хороший алгоритм хеширования резко меняет свой вывод даже с изменением данных на 1 символ. Рассмотрим сон в летнюю ночь на сайте gutenberg.org. Его около 100 000 символов и его хэш md5 составляет 16 байтов. Вы не собираетесь получать оригинал от этого!

>>> import hashlib
>>> import requests
>>> night = requests.get("http://www.gutenberg.org/ebooks/1514.txt.utf-8")
>>> len(night.text)
112127>>> print(night.text[20000:20200])
h power to say, Behold!
The jaws of darkness do devour it up:
So quick bright things come to confusion.HERMIA
If then true lovers have ever cross'd,
It stands as an edict in destiny:
Then let
>>> print(night.text[20000:20300])
h power to say, Behold!
The jaws of darkness do devour it up:
So quick bright things come to confusion.HERMIA
If then true lovers have ever cross'd,
It stands as an edict in destiny:
Then let us teach our trial patience,
Because it is a customary cross;
As due to love as thoughts, and dre>>> hash = hashlib.md5(night.text.encode("utf-8")).hexdigest()
>>> print(hash)
cce0d35b8b2c4dafcbde3deb983fec0a

Хэш может быть очень полезен, чтобы увидеть, изменился ли текст:

>>> hash2 = hashlib.md5(requests.get("http://www.gutenberg.org/ebooks/1514.txt.utf-8").text.encode("utf-8")).hexdigest()
>>> hash == hash2
True
thmasker ответил: 29 марта 2018 в 07:18
Что ж, спасибо, что нашли время ответить, но я чувствую, что просто задала не тот вопрос. Мне нужно будет снова спросить моих профессоров о работе, которую они нам дали. еще раз спасибо