Pbkdf2PasswordEncoder

class Pbkdf2PasswordEncoder extends BasePasswordEncoder

Pbkdf2PasswordEncoder uses the PBKDF2 (Password-Based Key Derivation Function 2).

Providing a high level of Cryptographic security, PBKDF2 is recommended by the National Institute of Standards and Technology (NIST).

But also warrants a warning, using PBKDF2 (with a high number of iterations) slows down the process. PBKDF2 should be used with caution and care.

Constants

MAX_PASSWORD_LENGTH

Methods

__construct(string $algorithm = 'sha512', bool $encodeHashAsBase64 = true, int $iterations = 1000, int $length = 40)
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

__construct(string $algorithm = 'sha512', bool $encodeHashAsBase64 = true, int $iterations = 1000, int $length = 40)

Parameters

string $algorithm The digest algorithm to use
bool $encodeHashAsBase64 Whether to base64 encode the password hash
int $iterations The number of iterations to use to stretch the password hash
int $length Length of derived key to create

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.
http://api.symfony.com/4.0/Symfony/Component/Security/Core/Encoder/Pbkdf2PasswordEncoder.html