diff --git a/lib/private/Security/Hasher.php b/lib/private/Security/Hasher.php index 99b57029adbfc..6afa5c4bd836f 100644 --- a/lib/private/Security/Hasher.php +++ b/lib/private/Security/Hasher.php @@ -74,13 +74,14 @@ public function __construct( public function hash(string $message): string { $alg = $this->getPrefferedAlgorithm(); - $version = match ($alg) { - PASSWORD_ARGON2ID => 3, - PASSWORD_ARGON2I => 2, - PASSWORD_BCRYPT => 1, - }; - - return $version . '|' . password_hash($message, $alg, $this->options); + if (\defined('PASSWORD_ARGON2ID') && $alg === PASSWORD_ARGON2ID) { + return 3 . '|' . password_hash($message, PASSWORD_ARGON2ID, $this->options); + } + + if (\defined('PASSWORD_ARGON2I') && $alg === PASSWORD_ARGON2I) { + return 2 . '|' . password_hash($message, PASSWORD_ARGON2I, $this->options); + } + return 1 . '|' . password_hash($message, PASSWORD_BCRYPT, $this->options); } /**