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