File: phpbb/passwords/driver/argon2i.php
Unmodified
Added
Modified
Removed
Line 33 | Line 33 |
---|
* @param int $threads Number of threads to use (optional) * @param int $time_cost Maximum amount of time (optional) */
|
* @param int $threads Number of threads to use (optional) * @param int $time_cost Maximum amount of time (optional) */
|
public function __construct(\phpbb\config\config $config, helper $helper, $memory_cost = 1024, $threads = 2, $time_cost = 2)
| public function __construct(\phpbb\config\config $config, helper $helper, $memory_cost = 65536, $threads = 2, $time_cost = 4)
|
{ parent::__construct($config, $helper);
|
{ parent::__construct($config, $helper);
|
// Don't allow cost factors to be below default settings $this->memory_cost = max($memory_cost, 1024); $this->threads = max($threads, 2); $this->time_cost = max($time_cost, 2);
| /** * For Sodium implementation of argon2 algorithm (since PHP 7.4), set special value of 1 for "threads" cost factor * See https://wiki.php.net/rfc/sodium.argon.hash and PHPBB3-16266 * Don't allow cost factors to be below default settings where possible */ $this->memory_cost = max($memory_cost, defined('PASSWORD_ARGON2_DEFAULT_MEMORY_COST') ? PASSWORD_ARGON2_DEFAULT_MEMORY_COST : 65536); $this->time_cost = max($time_cost, defined('PASSWORD_ARGON2_DEFAULT_TIME_COST') ? PASSWORD_ARGON2_DEFAULT_TIME_COST : 4); $this->threads = (defined('PASSWORD_ARGON2_PROVIDER') && PASSWORD_ARGON2_PROVIDER == 'sodium') ? 1 : max($threads, defined('PASSWORD_ARGON2_DEFAULT_THREADS') ? PASSWORD_ARGON2_DEFAULT_THREADS : 1);
|
}
/**
| }
/**
|