Extend Argon2i support check to account for sodium_compat #25412
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the Argon2i password encoder, if in an environment where
sodium_compat
is installed without either natively running PHP 7.2 or the (lib)sodium extension, theisSupported
check can return true because the library exposes thesodium_crypto_pwhash_str()
function however a pure PHP implementation of the method is not implemented, so the library does not actually support the hashes.paragonie/sodium_compat#55 requested a way to check support through the polyfill to avoid this condition and the 1.4 release added it. This PR extends the encoder's
isSupported
check to be aware of thesodium_compat
library and use its support check if able to avoid misreporting thatsodium_crypto_pwhash_str()
is available for use when it isn't.