Как я понимаю, хэширование - это по сути алгоритм. Тот же SHA-256 представляет собой набор команд без вероятностных интерпретаций, то есть, допустим, слово "код" он зашифрует одни и тем же хэшом постоянно. Так как же получается, что алгоритм работает только в одну сторону, если по идее его можно было бы повторить в обратном направлении?