From 95c1fc82bdb488abadf6b17f4b5a01a84839784d Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Sat, 9 Dec 2017 12:56:59 -0600 Subject: [PATCH] Extend Argon2i support check to account for sodium_compat --- .../Security/Core/Encoder/Argon2iPasswordEncoder.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php b/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php index c88bce0081..0362ccc4a2 100644 --- a/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php +++ b/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php @@ -22,9 +22,15 @@ class Argon2iPasswordEncoder extends BasePasswordEncoder implements SelfSaltingE { public static function isSupported() { - return (\PHP_VERSION_ID >= 70200 && \defined('PASSWORD_ARGON2I')) - || \function_exists('sodium_crypto_pwhash_str') - || \extension_loaded('libsodium'); + if (\PHP_VERSION_ID >= 70200 && \defined('PASSWORD_ARGON2I')) { + return true; + } + + if (\class_exists('ParagonIE_Sodium_Compat') && \method_exists('ParagonIE_Sodium_Compat', 'crypto_pwhash_is_available')) { + return \ParagonIE_Sodium_Compat::crypto_pwhash_is_available(); + } + + return \function_exists('sodium_crypto_pwhash_str') || \extension_loaded('libsodium'); } /**