Функция ДЕКОДИРОВАНИЯ Python SHA1

#python #sha1 #decoding

#python #sha1 #декодирование

Вопрос:

Я не могу найти, как декодировать строку, закодированную в sha1. Я удивлен, что не могу найти простую функцию в документах python или Google, выполняющую декодирование sha1. Я сдаюсь. Мне нужна помощь..

Комментарии:

1. Вы не очень старались. Если ваша первая попытка поиска не сработала, попробуйте другие варианты. Например, посмотрите, что появляется первым, когда вы Google «python sha1». Затем посмотрите на «устаревшее» предупреждение и вместо этого прочитайте документы для рекомендуемого модуля. Обычно я бы не стал публиковать комментарий со словами «просто погуглите», но, поскольку вы прошли часть пути и сдались, я просто призываю вас попробовать еще раз. Вы можете ее найти.

2. И теперь, когда я еще раз подумал, я понимаю, что вы не можете ее декодировать. Такие вещи являются односторонними хэшами.

Ответ №1:

SHA1 — это алгоритм хеширования. Хеширование является односторонним, что означает, что вы не можете восстановить входные данные из выходных данных для любой нетривиальной хеш-функции. Простым примером односторонней хэш-функции было бы сложение всех цифр числа. 1234 было бы хэшировать 1 2 3 4 = 10 , но так же было бы 4321 , 1900 , 5050 , и многие другие числа. Учитывая только хэш-значение 10 , вы не можете определить, был ли ввод 1234 или 5050 потому, что информация была потеряна.

Вот графический пример:

введите описание изображения здесь

Как вы можете видеть, оба John Smith и Sandra Dee сопоставлены 02 . Это означает, что вы не можете восстановить, какое имя было только хэшировано 02 .

Хэширование полезно, поскольку оно сопоставляет любой объем данных с выводом фиксированного размера, и, в отличие от приведенных выше примеров, чрезвычайно сложно найти два входа, которые хэшируют один и тот же вывод. Потребовалось более 6500 процессорных лет, чтобы найти только одну пару входных данных для SHA-1, которые имеют одинаковый хэш.

Поэтому, если hash(A) == hash(B) , то вы можете быть уверены, что A == B . Если вы копируете огромный файл, а хэши как оригинала, так и копии совпадают, то вы можете быть уверены, что файл не поврежден.