During the upgrade from Zend Server CE 5.1 to Zend Server CE 5.5, PHP also received an upgrade from 5.3.5 to 5.3.8. After this transition, the login function for the zend application I'm working on suddenly broke.
Trying to debug it, it seems that the implementation crypt()does not reflect the PHP manual, or I misunderstood it, If I risk assuming this is the last.
I use 16-character salt as a larger salt using SHA256, which is used as an example in the PHP manual.
$password =
$salt = '$5$rounds=250000$1234abcd5678defg$';
After I messed up my password
$hash = crypt($password, $salt);
I get a line like the return value:
$5$rounds=250000$1234abcd5678$tI.Oiz.YwWjIwT3K.SLU8SwUZ9J0/odBCkbE6t0igeB
, , 16 , (1234abcd5678defg ), 12 .
, ? crypt() , , , - PHP? changelog - .