Использование пароля «testtest» и хэш «KFtIFW1vulG5nUH3a0Mv» со следующими результатами кода в различных хешей в зависимости от PHP версии (как показано на изображении ниже):функции Crypt вывода двух различных значений в зависимости от PHP версии
$salt = "KFtIFW1vulG5nUH3a0Mv";
$password = "testtest";
$key = '$2a$07$';
$key = $key.$salt."$";
echo crypt($password, $key);
Выход 1 (РНР v.5.3.0 - 5.4.41, 5.5.21 - 5.5.25, 5.6.5 - 5.6.9): $2a$07$KFtIFW1vulG5nUH3a0Mv$.0imhrNa/laTsN0Ioj5m357/a8AxxF2q
Выход 2 (РНР v.5.5.0 - 5.5.20, 5.6.0 - 5.6.4): $2a$07$KFtIFW1vulG5nUH3a0Mv$e0imhrNa/laTsN0Ioj5m357/a8AxxF2q
Приведен пример m:
Это серьезная проблема, если крипт используется для хеш-паролей для входа в систему, поскольку в зависимости от версии PHP хеш будет отличаться. Кто-нибудь понимает, что это за проблема и как с этим бороться?
определить * «в зависимости от версии PHP» * и прочитать руководство http://php.net/crypt –
Взгляните на прикрепленное изображение, некоторые версии PHP выводят разные результаты, чем другие версии. Сейчас я добавлю детали. – JimmyBanks
Я нахожусь на высоком уровне; очень трудно это увидеть; нужно прищуриться –