Хеширование и дешифрование файла - PullRequest
0 голосов
/ 05 июля 2011

Я наткнулся на инструмент WINMD5FREE, который генерирует уникальный хэш-код для каждого файла. Он принимает любой тип файла и выдает 33-битный хэш-код. Есть ли способ отменить этот процесс, чтобы получить файл обратно из этого хэш-кода?

Также справедливое сомнение. При загрузке некоторых популярных инструментов помимо ссылок на скачивание есть и другие ссылки Md5, SHA и т. Д. Что они представляют?

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

Вы, похоже, неправильно поняли, что такое хэш-код. Они сделаны, чтобы быть необратимыми.

Вы можете использовать их для всех видов вещей. Скажем, вы хотите знать, если у вас есть один и тот же файл на двух компьютерах, но файл слишком велик для отправки по сети, просто вычислите хэш-код для файла на каждом компьютере, если вы получаете одинаковые числа, файлы совпадают, если один бит отличается, вы получите разные хеш-коды.

Хеш-коды также используются для аутентификации по паролю. Когда вы регистрируетесь на сайте, вы вводите свой пароль. Эта строка хешируется и сохраняется в базе данных. Так как хешированный пароль необратим, никто (с некоторыми оговорками, которые мы здесь не рассмотрим) не сможет узнать ваш пароль. Когда вы хотите войти в систему, вы снова вводите свой пароль, система хэширует строку и сравнивает ее с тем, что она сохранила в своей базе данных. Если хешированные строки совпадают, система может быть уверена (опять же, с некоторыми оговорками), что вы ввели правильный пароль.

Подробнее о http://en.wikipedia.org/wiki/Hash_code

0 голосов
/ 05 июля 2011

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

Обычно они предназначены для быстрого генерирования «уникального» идентификатора для строки.Строка всегда будет транслироваться в один и тот же хеш при одинаковых параметрах / алгоритмах.Даже если вы измените только один символ, он может быть преобразован во что-то другое, но результат всегда будет одинаковым.

Для целей восстановления ppl генерирует большие таблицы, так называемые радужные таблицы, чтобы обратить этот процесс вспять.Вы можете изменить хеш, например, грубой силой.

В дополнение к одному комментарию: Хеш-алгоритмы всегда генерируют хэши фиксированной длины.Поэтому вычисление этих хешей не является биективным.Отсутствие биективности означает, что две строки могут быть сопоставлены одному и тому же хешу.Так что если вы грубо насилуете что-то, может быть много ложных срабатываний.

Поскольку дальнейшее сложение времени перебора как-то зависит от максимального количества разрешенных символов на входе.Как сказал комментатор, почти невозможно изменить хеш файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...