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;
|
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
|
* 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
|
* @return bool True if password needs to be rehashed, false if not
|
||||||
*/
|
*/
|
||||||
public function needs_rehash($hash);
|
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
|
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$
|
// Check all legacy hash types if prefix is $CP$
|
||||||
|
|
Loading…
Add table
Reference in a new issue