Запутался в хешах - PullRequest
       38

Запутался в хешах

4 голосов
/ 14 апреля 2009

говорят, что у меня есть текстовый блок размером 5000 символов. Я запускаю его через программу хеширования и генерирую хэш длиной 40 символов. Теперь я запускаю еще один блок текста, 10000 символов. он по-прежнему генерирует хэш длиной 40 символов. это верно для текста любой длины.

мой вопрос: если все хеши уникальны, я не смогу сжать что-либо в строку из 40 символов?

Ответы [ 12 ]

0 голосов
/ 14 апреля 2009

Не смущайтесь .Net GetHashCode (). Это не очень хорошо, так как это всего 32 бита по сравнению с 640 битами в исходном вопросе (если каждый символ 8 бит).

0 голосов
/ 14 апреля 2009

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

См. Википедия

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