Argon2iPasswordEncoder
class Argon2iPasswordEncoder extends BasePasswordEncoder implements SelfSaltingEncoderInterface
Argon2iPasswordEncoder uses the Argon2i hashing algorithm.
Constants
| MAX_PASSWORD_LENGTH |
Methods
| array | demergePasswordAndSalt(string $mergedPasswordSalt) Demerges a merge password and salt string. | from BasePasswordEncoder |
| string | mergePasswordAndSalt(string $password, string $salt) Merges a password and a salt. | from BasePasswordEncoder |
| bool | comparePasswords(string $password1, string $password2) Compares two passwords. | from BasePasswordEncoder |
| bool | isPasswordTooLong(string $password) Checks if the password is too long. | from BasePasswordEncoder |
| __construct(int $memoryCost = null, int $timeCost = null, int $threads = null) Argon2iPasswordEncoder constructor. | ||
| static | isSupported() | |
| string | encodePassword(string $raw, string $salt) Encodes the raw password. | |
| bool | isPasswordValid(string $encoded, string $raw, string $salt) Checks a raw password against an encoded password. |
Details
protected array demergePasswordAndSalt(string $mergedPasswordSalt)
Demerges a merge password and salt string.
Parameters
| string | $mergedPasswordSalt | The merged password and salt string |
Return Value
| array | An array where the first element is the password and the second the salt |
protected string mergePasswordAndSalt(string $password, string $salt)
Merges a password and a salt.
Parameters
| string | $password | The password to be used |
| string | $salt | The salt to be used |
Return Value
| string | a merged password and salt |
Exceptions
| InvalidArgumentException |
protected bool comparePasswords(string $password1, string $password2)
Compares two passwords.
This method implements a constant-time algorithm to compare passwords to avoid (remote) timing attacks.
Parameters
| string | $password1 | The first password |
| string | $password2 | The second password |
Return Value
| bool | true if the two passwords are the same, false otherwise |
protected bool isPasswordTooLong(string $password)
Checks if the password is too long.
Parameters
| string | $password | The password to check |
Return Value
| bool | true if the password is too long, false otherwise |
__construct(int $memoryCost = null, int $timeCost = null, int $threads = null)
Argon2iPasswordEncoder constructor.
Parameters
| int | $memoryCost | memory usage of the algorithm |
| int | $timeCost | number of iterations |
| int | $threads | number of parallel threads |
static isSupported()
string encodePassword(string $raw, string $salt)
Encodes the raw password.
Parameters
| string | $raw | The password to encode |
| string | $salt | The salt |
Return Value
| string | The encoded password |
bool isPasswordValid(string $encoded, string $raw, string $salt)
Checks a raw password against an encoded password.
Parameters
| string | $encoded | An encoded password |
| string | $raw | A raw password |
| string | $salt | The salt |
Return Value
| bool | true if the password is valid, false otherwise |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.html