Current File : /home/pacjaorg/.trash/libraries.1/vendor/joomla/authentication/src/Password/BCryptHandler.php |
<?php
/**
* Part of the Joomla Framework Authentication Package
*
* @copyright Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Authentication\Password;
/**
* Password handler for BCrypt hashed passwords
*
* @since 1.2.0
*/
class BCryptHandler implements HandlerInterface
{
/**
* Generate a hash for a plaintext password
*
* @param string $plaintext The plaintext password to validate
* @param array $options Options for the hashing operation
*
* @return string
*
* @since 1.2.0
*/
public function hashPassword($plaintext, array $options = [])
{
return password_hash($plaintext, \PASSWORD_BCRYPT, $options);
}
/**
* Check that the password handler is supported in this environment
*
* @return boolean
*
* @since 1.2.0
*/
public static function isSupported()
{
// Check the password_verify() function exists, either as part of PHP core or through a polyfill
return \function_exists('password_verify');
}
/**
* Validate a password
*
* @param string $plaintext The plain text password to validate
* @param string $hashed The password hash to validate against
*
* @return boolean
*
* @since 1.2.0
*/
public function validatePassword($plaintext, $hashed)
{
return password_verify($plaintext, $hashed);
}
}