mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
[ticket/14733] Extend passwords driver_interface in rehashable_driver_interface
PHPBB3-14733
This commit is contained in:
parent
d15269950d
commit
722639a0e2
2 changed files with 9 additions and 54 deletions
|
@ -13,22 +13,8 @@
|
|||
|
||||
namespace phpbb\passwords\driver;
|
||||
|
||||
interface rehashable_driver_interface
|
||||
interface rehashable_driver_interface extends driver_interface
|
||||
{
|
||||
/**
|
||||
* Check if hash type is supported
|
||||
*
|
||||
* @return bool True if supported, false if not
|
||||
*/
|
||||
public function is_supported();
|
||||
|
||||
/**
|
||||
* Check if hash type is a legacy hash type
|
||||
*
|
||||
* @return bool True if it's a legacy hash type, false if not
|
||||
*/
|
||||
public function is_legacy();
|
||||
|
||||
/**
|
||||
* Check if password needs to be rehashed
|
||||
*
|
||||
|
@ -36,42 +22,4 @@ interface rehashable_driver_interface
|
|||
* @return bool True if password needs to be rehashed, false if not
|
||||
*/
|
||||
public function needs_rehash($hash);
|
||||
|
||||
/**
|
||||
* Returns the hash prefix
|
||||
*
|
||||
* @return string Hash prefix
|
||||
*/
|
||||
public function get_prefix();
|
||||
|
||||
/**
|
||||
* Hash the password
|
||||
*
|
||||
* @param string $password The password that should be hashed
|
||||
*
|
||||
* @return bool|string Password hash or false if something went wrong
|
||||
* during hashing
|
||||
*/
|
||||
public function hash($password);
|
||||
|
||||
/**
|
||||
* Check the password against the supplied hash
|
||||
*
|
||||
* @param string $password The password to check
|
||||
* @param string $hash The password hash to check against
|
||||
* @param array $user_row User's row in users table
|
||||
*
|
||||
* @return bool True if password is correct, else false
|
||||
*/
|
||||
public function check($password, $hash, $user_row = array());
|
||||
|
||||
/**
|
||||
* Get only the settings of the specified hash
|
||||
*
|
||||
* @param string $hash Password hash
|
||||
* @param bool $full Return full settings or only settings
|
||||
* related to the salt
|
||||
* @return string String containing the hash settings
|
||||
*/
|
||||
public function get_settings_only($hash, $full = false);
|
||||
}
|
||||
|
|
|
@ -297,7 +297,14 @@ class manager
|
|||
}
|
||||
else
|
||||
{
|
||||
$this->convert_flag = $stored_hash_type->needs_rehash($hash);
|
||||
if ($stored_hash_type instanceof driver\rehashable_driver_interface)
|
||||
{
|
||||
$this->convert_flag = $stored_hash_type->needs_rehash($hash);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->convert_flag = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Check all legacy hash types if prefix is $CP$
|
||||
|
|
Loading…
Add table
Reference in a new issue