Хэш-функции достаточно часто используются в современной криптографии. Два основных направления ─ это шифрование паролей и проверка целостности данных. Давайте разберемся, как они работают, какими свойствами обладают и можно ли взломать (расшифровать) хэш. Для начала разберемся, что вообще делает хэш-функция. Она получает на вход некоторый массив данных и на выходе выдает строку фиксированной длины с зашифрованными данными. Например, алгоритм md5 хэширует сообщение "Hello" как "8b1a9953c4611296a827abf8c47804d7", а вот "Hell" как "1824e8e0307cbfdd1993511ab040075c". Можно заметить, что зашифрованные сообщения очень сильно отличаются друг от друга, чего обычно не бывает при применении других алгоритмов шифрования. Это одно из свойств хэш функции, о которых мы сейчас поговорим. Свойства Контроль целостности Тут все очень просто ─ один пользователь передает информацию другому, а вместе с ней хэш, другой же пользователь хэширует эту информацию и если хэши совпали, то информация при передаче н