BCryptPasswordEncoder
class BCryptPasswordEncoder extends BasePasswordEncoder implements SelfSaltingEncoderInterface
Constants
Methods
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
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 |
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 $cost)
Parameters
int | $cost | The algorithmic cost that should be used |
Exceptions
string
encodePassword(string $raw, string $salt)
Encodes the raw password.
It doesn't work with PHP versions lower than 5.3.7, since the password compat library uses CRYPT_BLOWFISH hash type with the "$2y$" salt prefix (which is not available in the early PHP versions).
Parameters
string | $raw | The password to encode |
string | $salt | The salt |
Return Value
string | The encoded password |
Exceptions
See also
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 |