41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
|
PasswordHasher Component
|
||
|
========================
|
||
|
|
||
|
The PasswordHasher component provides secure password hashing utilities.
|
||
|
|
||
|
Getting Started
|
||
|
---------------
|
||
|
|
||
|
```bash
|
||
|
composer require symfony/password-hasher
|
||
|
```
|
||
|
|
||
|
```php
|
||
|
use Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactory;
|
||
|
|
||
|
// Configure different password hashers via the factory
|
||
|
$factory = new PasswordHasherFactory([
|
||
|
'common' => ['algorithm' => 'bcrypt'],
|
||
|
'memory-hard' => ['algorithm' => 'sodium'],
|
||
|
]);
|
||
|
|
||
|
// Retrieve the right password hasher by its name
|
||
|
$passwordHasher = $factory->getPasswordHasher('common');
|
||
|
|
||
|
// Hash a plain password
|
||
|
$hash = $passwordHasher->hash('plain'); // returns a bcrypt hash
|
||
|
|
||
|
// Verify that a given plain password matches the hash
|
||
|
$passwordHasher->verify($hash, 'wrong'); // returns false
|
||
|
$passwordHasher->verify($hash, 'plain'); // returns true (valid)
|
||
|
```
|
||
|
|
||
|
Resources
|
||
|
---------
|
||
|
|
||
|
* [Documentation](https://symfony.com/doc/current/security.html#c-hashing-passwords)
|
||
|
* [Contributing](https://symfony.com/doc/current/contributing/index.html)
|
||
|
* [Report issues](https://github.com/symfony/symfony/issues) and
|
||
|
[send Pull Requests](https://github.com/symfony/symfony/pulls)
|
||
|
in the [main Symfony repository](https://github.com/symfony/symfony)
|