config($config); } /** * Get/Set the config * * @param array $config Sets config, if null returns existing config * @return array Returns configs */ public function config($config = null) { if (is_array($config)) { $this->_config = array_merge($this->_config, $config); } return $this->_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); }