Для статьи делать подобное не имеет смысла, но у этого подхода есть применения. Простое и повседневное — это пароли. Если у меня есть компьютерная система, а у вас пароль для входа в систему, мне нужно иметь возможность проверить правильность вашего пароля. Один из способов сделать это — хранить в моей системе ваш пароль и сверять то, что вы вводите, с хранимыми данными. Скажем, у меня есть текстовый файл со всеми паролями, и в нем рядом с вашим именем пользователя написано «Password123». Вы вводите «Password123» на экране входа в систему, моя система сверяет введенный вами пароль с файлом, видит, что они совпадают, и позволяет вам залогиниться. Но это опасная система: если кто-то украдет файл, у него будут все пароли. Поэтому лучше их хэшировать. Вы вводите «Password123» в качестве пароля, я прогоняю его через хэш-функцию, получаю ответ: 008c70392e3abfbd0fa47bbc2ed96aa99bd49e159727fcba0f2e6abeb3a9d601, — и сохраняю его в своем списке. Когда вы пытаетесь войти в систему, вы вводите пароль, он снова хэшируется, и если результат совпадает с хэшем в моем списке, я вас впускаю. Если кто-то украдет список, он не сможет войти в систему, поскольку не сможет расшифровать ваш пароль по хэшу.