Pbkdf2PasswordEncoder
class Pbkdf2PasswordEncoder extends BasePasswordEncoder
Pbkdf2PasswordEncoder использует PBKDF2 (Password-Based Key Derivation Function 2).
Обеспечивая высокий уровень криптографической безопасности, PBKDF2 рекомендуется Национальным институтом стандартов и технологий (NIST).
Но также следует учитывать, что использование PBKDF2 (с большим количеством итераций) замедляет процесс. PBKDF2 следует использовать с осторожностью.
Постоянные значения
| MAX_PASSWORD_LENGTH |
Методы
| массив | demergePasswordAndSalt(строка $mergedPasswordSalt) Разделяет строку, содержащую объединённый пароль и соль. | из BasePasswordEncoder |
| строка | mergePasswordAndSalt(строка $password, строка $salt) Объединяет пароль и соль. | из BasePasswordEncoder |
| логическое значение | comparePasswords(строка $password1, строка $password2) Сравнивает два пароля. | из BasePasswordEncoder |
| логическое значение | isPasswordTooLong(строка $password) Проверяет, слишком ли длинный пароль. | из BasePasswordEncoder |
| __construct(строка $algorithm = 'sha512', логическое значение $encodeHashAsBase64 = true, целое число $iterations = 1000, целое число $length = 40) | ||
| строка | encodePassword(строка $raw, строка $salt) Кодирует исходный пароль. | |
| логическое значение | isPasswordValid(строка $encoded, строка $raw, строка $salt) Проверяет исходный пароль по кодированному паролю. |
Подробности
protected массив demergePasswordAndSalt(строка $mergedPasswordSalt)
Разделяет строку, содержащую объединённый пароль и соль.
Параметры
| строка | $mergedPasswordSalt | Строка, содержащая объединённый пароль и соль |
Значение возврата
| массив | Массив, где первый элемент — пароль, а второй — соль |
protected строка mergePasswordAndSalt(строка $password, строка $salt)
Объединяет пароль и соль.
Параметры
| строка | $password | Пароль для использования |
| строка | $salt | Соль для использования |
Значение возврата
| строка | Объединённый пароль и соль |
Исключения
| InvalidArgumentException |
protected логическое значение comparePasswords(строка $password1, строка $password2)
Сравнивает два пароля.
Этот метод реализует алгоритм с постоянным временем для сравнения паролей, чтобы избежать (удаленных) атак по временному анализу.
Параметры
| строка | $password1 | Первый пароль |
| строка | $password2 | Второй пароль |
Значение возврата
| логическое значение | true, если пароли совпадают, false в противном случае |
protected логическое значение isPasswordTooLong(строка $password)
Проверяет, слишком ли длинный пароль.
Параметры
| строка | $password | Пароль для проверки |
Значение возврата
| логическое значение | true, если пароль слишком длинный, false в противном случае |
__construct(строка $algorithm = 'sha512', логическое значение $encodeHashAsBase64 = true, целое число $iterations = 1000, целое число $length = 40)
Параметры
| строка | $algorithm | Алгоритм дайджеста для использования |
| логическое значение | $encodeHashAsBase64 | Нужно ли кодировать хеш пароля в base64 |
| целое число | $iterations | Количество итераций для растяжения хеша пароля |
| целое число | $length | Длина создаваемого производного ключа |
строка encodePassword(строка $raw, строка $salt)
Кодирует исходный пароль.
Параметры
| строка | $raw | Пароль для кодирования |
| строка | $salt | Соль |
Значение возврата
| строка | Закодированный пароль |
логическое значение isPasswordValid(строка $encoded, строка $raw, строка $salt)
Проверяет исходный пароль по кодированному паролю.
Параметры
| строка | $encoded | Закодированный пароль |
| строка | $raw | Исходный пароль |
| строка | $salt | Соль |
Значение возврата
| логическое значение | true, если пароль действителен, false в противном случае |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Security/Core/Encoder/Pbkdf2PasswordEncoder.html