phpass возвращает разные результаты

Я просто перенес свой проект с локального хоста на мой хост и, используя одну и ту же функцию (phpass), получаю разные результаты, и длина возвращаемой строки также отличается. (и все работает на localhost, кстати)

Так что та же функция возвращает ложь, когда онлайн. Мне было интересно, в чем может быть проблема.

Вот результат:

Вход: 12345

  • localhost: $ 2a $ 08 $ t5joFUIbEThylj / IyUVy7.WzMZm8fmKjsy0kZc / YxgqzkbYQWnlre
  • хост: $P$9QiKVfJzpRzoToBCJg8FeaDIfcAJJ61

РЕДАКТИРОВАТЬ: Я включил флаг ИСТИНА, чтобы сделать пароль переносимым, но все равно он не работает.

РЕДАКТИРОВАТЬ 2: Не работает с php 4 или 5, и я сделал переключатель в портативном режиме!

3 ответа

Если я не ошибаюсь, phpass использует лучший из доступных методов. В этом случае может показаться, что модули, доступные на живом хосте, не совпадают с модулями на локальном хосте, и поэтому phpass должен выбрать другой метод. "$2a$" обозначает bcrypt, а "$P$" обозначает внутренний хэш phpass. То есть, похоже, что у живого хоста нет доступного bcrypt.

ВНИМАНИЕ: по умолчанию библиотека генерирует надежные системные хеши паролей, которые не являются переносимыми. Это означает, что однажды созданная пользовательская база данных не может быть выгружена и экспортирована на другой сервер. Это поведение также может быть изменено в config-файле.

-> Переносимые (PHPass) хеши паролей. Должен ли я их использовать?

Я наконец-то обнаружил, что проблема не в самом phpass, но сценарии вызывали ошибку (проблема с подлинным именем mysql была проблемой, и ajax фактически скрывал это от меня) в любом случае, все в порядке, спасибо.

Другие вопросы по тегам