Base64 + sha256 не дает ожидаемого результата

Мне нужно выяснить, почему я получаю неправильные результаты, вот что:

Ожидаемый результат

Mu0FBjARVsNyDiixnKqyLCCqVunTSPQFCMnOwGQsIWliY2Jh

Текущий результат

MzJlZDA1MDYzMDExNTZjMzcyMGUyOGIxOWNhYWIyMmMyMGFhNTZlOWQzNDhmNDA1MDhjOWNlYzA2NDJjMjE2OQ ==

Код, который я использую (php)

echo base64_encode(hash("sha256", $pass.$salt')); 

Этот сайт http://www.insidepro.com/hashes.php giveme дает более близкий результат

sha256 ($ pass. $ salt) => Mu0FBjARVsNyDiixnKqyLCCqVunTSPQFCMnOwGQsIWk =

вы можете найти (на сайте, рядом с полем результата) [1], что означает «Хэш в Base64»

вещь … Я даже не могу получить результаты сайтов


EDIT (Спасибо, Джон)

теперь код выглядит следующим образом

 echo base64_encode(hash("sha256", $pass.$salt', true)); 

Я получаю тот же результат, что и на сайте


теперь проблема заключается в различии между двумя результатами

 actual result : Mu0FBjARVsNyDiixnKqyLCCqVunTSPQFCMnOwGQsIWk= expected result : Mu0FBjARVsNyDiixnKqyLCCqVunTSPQFCMnOwGQsIWliY2Jh 

hash возвращает шестнадцатеричную строку своего вывода по умолчанию, в то время как вы ожидаете возвращения необработанных байтов. К счастью, он принимает третий аргумент; установите значение true следующим образом:

 echo base64_encode(hash("sha256", $pass.$salt', true));