=PHP 5.3.7) str_pad ($cost, 2, "0", STR_PAD_LEFT), //add the cost in two digits $salt //add the salt )); //now do the actual hashing return crypt ($password, $param); } /** Check if the clear password is valid against the hashed one * @param string $clear The clear password * @param string $hashed The hashed password * @return boolean true if the password correspond to the hash */ static public function checkPassword ($clear, $hashed) { if (! is_string ($clear)) throw new \Exception (dgettext ("domframework", "Invalid clear password provided to be checked : not a string"), 403); if (! is_string ($clear)) throw new \Exception (dgettext ("domframework", "Invalid hashed password provided to be checked : not a string"), 403); if (crypt ($clear, $hashed) === $hashed) return true; return false; } }