hash function



Hash функция

Автор Alex задал вопрос в разделе Компьютеры, Связь

Подскажите пожалуйста, что такое "хеширование" ? и получил лучший ответ

Ответ от Warau_Kyuuketsuki[эксперт]
хеширование-это что то вроде чтения и проверки файлов для последующей выкладки в интернет или на сайты!вот.

Ответ от Валерий Булаш[гуру]
хэширование - это процесс получения уникального (чаще цифрового) идентификатора для объекта.
Например, в вашем нике Alex можно каждую букву заменить на какую-то цифру, а можно сказать, что Alex = 1. Причем алгоритм, который говорит, что Alex = 1 и 1 = Alex должен быть уникален. То есть если видим "1" на "ответах", значит Alex и никто больше.
делается такое присвоение идентификатора автоматически. это делается с помощью хэш-функции. то есть f("Alex") -> "1" и есть хэш-функция (кодирование) . обратное хэширование -- восстановление исходного значения f2("1") -> "Alex".
применение хэширования как раз идет от уникальности полученного хэш-кода. Хотя бы потому, что он очень короткий

Ответ от Пользователь удален[гуру]
Может Кэширование?))
Этот термин к разному относиться.Например Инет-кэширование:
Когда Вы просматриваете различные ресурсы, они могут быть сохранены (прокэшированы) на жестком диске (или proxy-сервере). В следующий раз, при обращении к тому же ресурсу для увеличения скорости загрузки странички, файлы, картинки и прочие прокэшированные ресурсы, будут загружаться с жесткого диска, а не с удаленного сервера. Это позволяет уменьшить время загрузки страниц и объем входящего трафика.

Ответ от Валерий Чистяков[гуру]
Хеширование (англ. Collision-Resistant Hash Functions) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины таким образом, чтобы изменение входных данных приводило к непредсказуемому изменению выходных данных. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или дайджестом сообщения (англ. message digest).
В общем случае однозначного соответствия между исходными данными и хеш-кодом быть не может. Существует множество массивов данных, дающих одинаковые хеш-коды (так называемые коллизии), и каждая хэш-функция должна оцениваться по стойкости к возникновению коллизий. В разных задачах выдвигаются различные требования с стойкости хэш-функций.
Простым примером хеширования может служить нахождение контрольной суммы сообщения: сумма кодов всех входящих в него символов, от которой берётся несколько последних цифр. Полученное число является примером хеш-кода исходного сообщения. Существует множество способов хеширования, подходящих к различным задачам.
Среди множества существующих хеш-функций принято выделять криптографически стойкие, применяемые в криптографии.
Криптографическая хеш-функция должна обеспечивать:
стойкость к коллизиям (два различных набора данных должны иметь различные результаты преобразования)
необратимость (невозможность вычислить исходные данные по результату преобразования)
Хеш-функции также используются в некоторых структурах данных — хеш-таблицаx и декартовых деревьях. Требования к хеш-функции в этом случае другие:
хорошая перемешиваемость данных
быстрый алгоритм вычисления

Ответ от Пользователь удален[новичек]
11

Ответ от Борис Леонов[мастер]
Хеширование — преобразование входного массива данных в короткое число фиксированной длины (которое называется хешем или хеш-кодом) таким образом, чтобы с одной стороны, это число было значительно короче исходных данных, а с другой стороны, с большой вероятностью однозначно им соответствовало. Преобразование выполняется при помощи хеш-функции. Ясно, что в общем случае однозначного соответствия между исходными данными и хеш-кодом быть не может. Обязательно будут возможны массивы данных, дающих одинаковые хеш-коды, но вероятность таких совпадений в каждой конкретной задаче должна быть сведена к минимуму выбором хеш-функции.
Простым примером хеширования может служить нахождение циклической контрольной суммы, когда берётся текст (или другие данные) и суммируются коды входящих в него символов, а затем отбрасываются все цифры, за исключением нескольких последних. Полученное число может являться примером хеш-кода исходного текста.
Кроме этого, существует много других способов хеширования, подходящих к различным задачам.
Среди множества существующих хеш-функций принято выделять криптографически стойкие, применяемые в криптографии.
В современной жизни часто применяется MD5-хэш. Его используют для шифрования паролей и дальнейшей проверки.
Например в ICQ, когда Вы вводите пароль, то программа обрабатывает его хэш-функцией, и передает на сервер авторизации, а сервер уже сравнивает полученный хэш с имеющимся в его базе. Так как многие хэш-функции являются необратимыми, т.е. на основании хэша получить данные нельзя, то такая авторизация считается достаточно безопасной.
Эта же функция применяется в сети EDonkey для проверки контрольных сумм файлов и отслеживания одинаковых файлов у разных пользователей. (В этом случае обрабатывается весь файл по-байтово, и строка с хэшем получается длинной, но много раз меньшей, чем сам файл).
Самой простой хэш функцией считается функция проверки четности (CRC), которая повсеместно используется при копировании файлов, а точнее при проверке идентичности исходного файла и его копии.

Ответ от Kaskad095[гуру]
Хеширование (англ. Collision-Resistant Hash Functions) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины таким образом, чтобы изменение входных данных приводило к непредсказуемому изменению выходных данных. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или дайджестом сообщения (англ. message digest).
В общем случае это применение можно описать, как проверка некоторой информации на идентичность оригиналу, без использования оригинала. Для сверки используется хеш-значение проверяемой информации. Различают два основных направления этого применения:
Проверка на наличие ошибок
Например, контрольная сумма может быть передана по каналу связи вместе с основным текстом. На приёмном конце, контрольная сумма может быть рассчитана заново и её можно сравнить с переданным значением. Если будет обнаружено расхождение, то это значит, что при передаче возникли искажения и можно запросить повтор.
Бытовым аналогом хеширования в данном случае может служить приём, когда при переездах в памяти держат количество мест багажа. Тогда для проверки не нужно вспоминать про каждый чемодан, а достаточно их посчитать. Совпадение будет означать, что ни один чемодан не потерян. То есть, количество мест багажа является его хеш-кодом.
Проверка парольной фразы
В большинстве случаев парольные фразы не хранятся на целевых объектах, хранятся лишь их хеш-значения. Хранить парольные фразы нецелесообразно, т.к. в случае несанкционированного доступа к файлу с фразами злоумышленник узнает все парольные фразы и сразу сможет ими воспользоваться, а при хранении хеш-значений он узнает лишь хеш-значения, которые не обратимы в исходные данные, в данном случае в парольную фразу. В ходе процедуры аутентификации вычисляется хеш-значение введённой парольной фразы, и сравнивается с сохранённым.
Бытовым примером в данном случае может служить ОС Windows XP. В ней хранятся лишь хеш-значения парольных фраз из учётных записей пользователей.

Ответ от Silenser[гуру]
Офигет, знаток, блин. Хеширование, это система шифрования паролей с получением контрольной суммы (хеша). В дальнейшем при проверке пароля, идет сверка не с самим паролем а хеш-суммы введенного пароля и хеш-суммы заданного.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Подскажите пожалуйста, что такое "хеширование" ?
Соль криптография на Википедии
Посмотрите статью на википедии про Соль криптография
Хеширование на Википедии
Посмотрите статью на википедии про Хеширование
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*