1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-18 22:41:28 +02:00

[ticket/16266] Fix argon2 driver issue for Sodium implementation

PHPBB3-16266
This commit is contained in:
rxu
2019-12-26 19:44:22 +07:00
parent 230472de45
commit 186a3d40c6
2 changed files with 27 additions and 4 deletions

View File

@@ -37,10 +37,21 @@ class argon2i extends base_native
{
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);
if ($this->is_sodium())
{
// For Sodium implementation, set special cost factor values (since PHP 7.4)
// See https://wiki.php.net/rfc/sodium.argon.hash and PHPBB3-16266
$this->memory_cost = max($memory_cost, 256*1024);
$this->threads = 1;
$this->time_cost = max($time_cost, 3);
}
else
{
// Otherwise 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);
}
}
/**