Главной особенностью алгоритма хеширования является необратимость его функции хеширования. В жизни, хеширование можно сравнить с прокручиванием мяса в мясорубке. Обратно фарш превратить в кусок мяса чрезвычайно сложно. Пример: Функция хеширования будет следующий - складываем все цифры в пароле, если результат сложения имеет больше одной цифры, повторяем сложение цифр из результата. И так пока не получим результат в виде одной цифры. Пароль: 123456789 1+2+3+4+5+6+7+8+9 = 45
4+5 = 9 Коротко это можно записать так: f(123456789) = 9, где f() - наша функция хеширования. Таким образом, зная хеш(результат вычисления хеш функции) вычислить исходный пароль нельзя. Стоп-стоп-стоп... И тут пытливый ум заметит, что если взять пароль "45" вместо "123456789" хеш будет одинаковый. А вот это уже называется коллизией хеш-функции.