Хеш-функция -- это математический алгоритм, преобразовывающий произвольный массив данных в состоящую из букв и цифр строку фиксированной длины.
Например, имя Brian -- после преобразования хеш-функцией SHA-1 будет выглядеть так: 75c450c3f963befb912ee79f0b63e563652780f0.
Если снова воспользоваться алгоритмом SHA-1, то слово Brain(мозг) трансформируется в строку 97fb724268c2de1e6432d3816239463a6aaf8450.
Как видите, результаты значительно отличаются друг от друга, даже несмотря на то, что разница между моим именем и названием органа центральной нервной системы заключается лишь в последовательности написания двух гласных. Более того, если преобразовать тем же алгоритмом имя, но написанное уже со строчной буквы, то результат все равно не будет иметь ничего общего с двумя предыдущими: 760e7dab2836853c63805033e514668301fa9c47.
Общее у них все же есть: каждая строка имеет длину ровно 40 символов.
Казалось бы, ничего удивительного, ведь все введенные слова также имели одинаковую длину -- 5 букв. Однако, если захешировать весь предыдущий абзац целиком, то все равно получится последовательность, состоящая ровно из 40 символов: c5e7346089419bb4ab47aaa61ef3755d122826e2. То есть 1128 символов, включая пробелы, были ужаты до строки той же длины, что и пятибуквенное слово. То же самое произойдет даже с полным собранием сочинений Уильяма Шекспира: на выходе вы получите строку из 40 букв и цифр. При всем этом не может существовать двух разных массивов данных, которые преобразовывались бы в одинаковый хеш.
Для простых пользователей, наиболее распространенная область применения хеширования -- хранение паролей. К примеру, если вы забыли пароль к какому-либо онлайн-сервису, скорее всего, придется воспользоваться функцией восстановления пароля. В этом случае вы, в
Страницы: 1 | 2 | 3 > >>