config($config); } /** * Generates password hash. * * @param string|array $password Plain text password to hash or array of data * required to generate password hash. * @return string Password hash */ abstract public function hash($password); /** * Check hash. Generate hash from user provided password string or data array * and check against existing hash. * * @param string|array $password Plain text password to hash or data array. * @param string $hashedPassword Existing hashed password. * @return bool True if hashes match else false. */ abstract public function check($password, $hashedPassword); /** * Returns true if the password need to be rehashed, due to the password being * created with anything else than the passwords generated by this class. * * Returns true by default since the only implementation users should rely * on is the one provided by default in php 5.5+ or any compatible library * * @param string $password The password to verify * @return bool */ public function needsRehash($password) { return password_needs_rehash($password, PASSWORD_DEFAULT); } }