Как алгоритм хеширования md5 сжимает данные до фиксированной длины? - PullRequest
4 голосов
/ 27 августа 2011

Я знаю, что MD5 производит 128-битный дайджест. Мой вопрос, как он производит этот вывод фиксированной длины из сообщения размером 128 бит +?

EDIT:

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

Ответы [ 4 ]

7 голосов
/ 27 августа 2011

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

На этой странице представлено хорошее графическое объяснение MD5 и аналогичных хеш-функций и их использования: Иллюстрированное руководство по криптографическим хэшам

3 голосов
/ 27 августа 2011

Рассмотрим что-то вроде запуска со 128-битного значения и одновременного получения входных 128 бит и XOR для каждого из этих входных блоков с существующим значением.

MD5 значительно сложнее, но общая идея та же: вход обрабатывается 128 бит за раз. Каждый входной блок может изменить значение результата, но не влияет на длину.

1 голос
/ 27 августа 2011

Короче говоря, он будет разбит на множество частей и будет выполнять операции.

Если вас интересует конфликт, считайте, что ваше сообщение доступно только для чтения.

Битовое пространство намного больше, чемчитаемое пространство символов.

1 голос
/ 27 августа 2011

Это имеет отношение (или, что лучше, немногие) к сжатию. Существует алгоритм , который выдает для каждого начального состояния и создает новое состояние. Это состояние более или менее уникально для этой комбинации входов.

...