Crypt отличается от сервера, чем на локальной машине

Я разрабатываю API, используя PHP (Codeigniter) и Phils RESTserver. Я создаю хэш с помощью crypt () с паролем и солью.

Проблема в том, что хэш, являющийся результатом алгоритма crypt (), отличается на моей локальной машине и на сервере.

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

Хэш из локальной машины:

$2a$10$g6J7CUjJvB0JpTd7UcrowePEbqp/oBmZEpd7vS.5HFYx38f08Tb/a 

Хеш с сервера:

 $2jkP2/LlC/H6 

Что может быть неправильным?

(сервер работает centos 5).

Вероятно, ваша версия PHP не поддерживает хеширование blowfish для crypt. Вывод $ 2a $ показывает, что вы пытаетесь использовать CRYPT_BLOWFISH, который может быть недоступен на обеих платформах.

http://uk.php.net/crypt

Исправлена ​​ошибка в PHP 5.3.2:

Исправлено поведение Blowfish в недействительных раундах, чтобы вернуть строку «сбой» («* 0» или «* 1») вместо того, чтобы возвращаться к DES.

Поэтому я предполагаю, что хэш с вашего сервера возвращается к DES, так как он содержит только первые 2 символа вашей соли.