Хаш — что это такое
Хаш — это короткий «отпечаток» любых данных, который получается по специальному правилу и меняется, если изменить хотя бы один символ исходных данных.
Простыми словами
Представьте, что из любого файла, сообщения или пароля специальная программа делает короткую строку из букв и цифр. Эта строка и есть хаш. Главное: одинаковые данные всегда дают одинаковый хаш, а чуть-чуть изменённые — совершенно другой. Поэтому хаш используют, чтобы проверять целостность файлов (не повредились ли при скачивании), быстро сравнивать данные, хранить пароли в безопасном виде и делать цепочки блоков в блокчейне. Сам процесс получения хаша называется хешированием — он работает в одну сторону: по хашу невозможно восстановить исходные данные.
Пример
Когда скачиваете программу из интернета, на сайте рядом с файлом часто указывают хаш — например, MD5 или SHA-256. После скачивания можно прогнать файл через специальную утилиту, и если получившаяся строка совпадает с указанной на сайте, значит файл скачан полностью и не был подменён.
Откуда слово
Слово происходит от английского hash — «мешанина, перемешивать». В программирование пришло в середине XX века.
Частые вопросы
Нет, хеширование работает только в одну сторону. Из хаша нельзя получить исходный текст или файл — это его главное свойство.
Шифрование можно обратно расшифровать, а хаш — нельзя. Хаш просто проверяет целостность или идентифицирует данные, а не скрывает их.
Потому что правило хеширования всегда работает одинаково: для одинаковых данных результат всегда один и тот же. Именно поэтому по хашу можно проверить, правильный ли введён пароль, не храня сам пароль.
