private function getHasher() { if (!self::$hasher) { //we don't want to use DES based crypt(), since it doesn't return a has with a recognisable prefix $forcePortable = CRYPT_BLOWFISH != 1; self::$hasher = new PasswordHash(8, $forcePortable); } return self::$hasher; }