Я просто поместил свой проект из localhost на свой хост и используя ту же функцию (phpass), я получаю разные результаты, а длина возвращаемой строки также различна. (и все работает на localhost btw)
Таким образом, одна и та же функция возвращает false в режиме онлайн. Мне было интересно, в чем проблема.
Вот результат:
Вход: 12345
EDIT: я включил флаг TRUE, чтобы сделать переносимый пароль, но все же он не работает.
EDIT 2: Не работает с php 4 или 5, а я DID переключаюсь в портативном режиме!
ПРЕДУПРЕЖДЕНИЕ. По умолчанию библиотека генерирует жесткие системные хэши паролей, которые не переносятся. Это означает, что после создания пользовательская база данных не может быть сброшена и экспортирована на другой сервер. Это поведение также можно изменить в файле конфигурации.
-> Хранение паролей портативных (PHPass). Должен ли я использовать их?
Если я не ошибаюсь, phpass использует лучший доступный ему метод. В этом случае, казалось бы, модули, доступные на хост-хосте, не такие же, как на локальном хосте, и поэтому phpass должен выбрать другой метод. «$ 2a $» указывает на bcrypt, а «$ P $» указывает внутренний хэш «phpass». То есть, кажется, что живой хост не имеет доступного bcrypt.
Я, наконец, выяснил, что проблема не в самом phpass, но сценарии вызывают ошибку (mysql real name escape была проблемой, и ajax фактически скрывал ее от меня) в любом случае, теперь все в порядке, спасибо.