Как получить правильную соль из phps password_hash()?

Я знаю, что соль включена в вывод phps password_hash(), но когда я выполняю следующее:

echo password_hash('JohnDoe', PASSWORD_DEFAULT, ['salt' => 'saltsaltsaltsaltsaltsh']);
# this will be $2y$10$saltsaltsaltsaltsaltseQMyqgPkFxQ1hfP2yBcGxgbJZGe1uGXq

Я вижу только часть исходной соли, последний символ как будто обрезан или как-то преобразован во что-то другое? Итак, как мне получить последний символ соли?

Обновление Извините, позвольте мне уточнить мой вопрос: как я могу получить соль из возвращаемого хэша из функции phps password_hash()? Я не планирую использовать пользовательские соли, просто хочу получить предоставленную php. Мой пример просто показывает, что моя строка из 22 len не полностью представлена ​​в хеше, там виден только 21 символ моей соли. Почему? Где последний персонаж?


person smat88dd    schedule 12.11.2015    source источник
comment
Оффтоп, но опция соли устарела с PHP 7.0.0.   -  person Daan    schedule 12.11.2015
comment
А еще *Caution* It is strongly recommended that you do not generate your own salt for this function. It will create a secure salt automatically for you if you do not specify one.   -  person iamgory    schedule 12.11.2015
comment
Вы не можете получить последний символ исходной соли, когда он длиннее, чем требуется, но вы можете получить столько символов, сколько вам действительно нужно..... соль усекается, а затем используется, и сохраненная соль - это все, что нужно для обработки проверки   -  person Mark Baker    schedule 12.11.2015
comment
Длина соли жестко запрограммирована для дополнения/усечения до $required_salt_len = 22;   -  person Mark Baker    schedule 12.11.2015
comment
Да, я знаю, что не следует использовать пользовательскую соль, мой вопрос: Как я могу получить соль, созданную php, из хэша   -  person smat88dd    schedule 12.11.2015
comment
Привет всем, спасибо за ваш вклад, но, пожалуйста, проверьте, что вы говорите. Мой предоставленный хэш IS длиной 22 символа, и все эти символы каким-то образом используются, НО я вижу только 21 из исходных 22 символов в хэш вернулся обратно! Поэтому для уточнения я обновил свой вопрос выше.   -  person smat88dd    schedule 12.11.2015
comment
Я думаю, что stackoverflow.com/questions/15727257/ должен ответить на ваш вопрос: только 4 бита 22-го байта фактически используются для соли Blowfish.   -  person Mark Baker    schedule 12.11.2015
comment
Да - хорошо, это ответ, спасибо. Я бы отметил свой ответ, но вы только что прокомментировали, поэтому я не могу.   -  person smat88dd    schedule 12.11.2015