New in Symfony 5.3: PasswordHasher Component

Contributed by Robin Chalas in #39802.

Hashing passwords is the process of applying a cryptographic hash function to transform the original plain text password into a different non-guessable value which is infeasible to invert. For historical reasons, Symfony uses the term “password encoding” when it should really refer to “password hashing”. This has caused some confusion for people learning Symfony, so we decided to fix this in Symfony 5.3 for once and for all. That’s why in Symfony 5.3 we’re introducing a new component called PasswordHasher. This component extracts all the existing code and features related to “password encoding” and renames it to “password hashing”. All the “encoding” features are deprecated in Symfony 5.3 and will be removed in Symfony 6.0. The API of the new hasher is similar to the previous one and slightly more close to the PHP built-in password hashing API: 1 2 3 4 5 6 7 8 9 10namespace Symfony\Component\PasswordHasher;

interface PasswordHasherInterface { public function hash(string $plainPassword): string;

public function verify(string $hashedPassword, string $plainPassword): bool;

public function needsRehash(string $hashedPassword): bool;

}

This new component can be used independently from the rest of Symfony features in any PHP application. For existing Symfony applications, the new component is included automatically when installing/updating the security package, so you don’t need to make any change in your dependencies. The impact in your application code will be low, but you might need to make some minor changes. For example, the security:encode-password command is now called security:hash-password. The security.password_encoder service is now called security.password_hasher, the UserPasswordEncoderInterface is now UserPasswordHasherInterface, etc. The main change will be in the security configuration, where you need to replace encoders by password_hashers: 1 2 3 4 5 # config/packages/security.yaml -encoders: +password_hashers: App\Entity\User: algorithm: 'auto'

                Sponsor the Symfony project.

http://feedproxy.google.com/~r/symfony/blog/~3/jVTl6wxaL6g/new-in-symfony-5-3-passwordhasher-component

Établi 4y | 29 avr. 2021, 07:20:08


Connectez-vous pour ajouter un commentaire

Autres messages de ce groupe

Kicking off the Symfony AI Initiative

Today we are happy to announce a new Symfony initiative called Symfony AI - with the goal to provide a comprehensive set of components and bundles designed to bring powerful AI capabilities directly i

11 juil. 2025, 13:20:27 | Symfony
SymfonyCon Amsterdam 2025: Travel & Lodging Tips

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:

November 25 & 26: 2 workshops days with several topics to learn, practice and improve your skills

11 juil. 2025, 08:40:20 | Symfony
A Week of Symfony #966 (June 30 – July 6, 2025)

This week, development on the upcoming Symfony 8.0 version continued with the removal of deprecated features and the marking of several classes as final. In addition, we published two new case studies

6 juil. 2025, 08:10:15 | Symfony
Case study: Modernizing Audi France’s Digital Ecosystem with Symfony 6

At Wide, Micropole’s digital agency, they help leading brands modernize their digital infrastructures while ensuring scalability, security, and performance. When Audi France approached them to migrate

4 juil. 2025, 09:40:14 | Symfony
Case study: A Long-Term Powerhouse Behind Vente-unique.com's E-Commerce Success (Zero Churn, All Wins!)

Vente-unique.com, a leading European online retailer of furniture and home decor, operates in 11 countries, powered by a team of 400 professionals and serving more than 3 million customers. From 15 ye

2 juil. 2025, 09:10:03 | Symfony
A Week of Symfony #965 (June 23–29, 2025)

This week, Symfony 6.4.23, 7.2.8 and 7.3.1 maintenance versions were released. Meanwhile, the upcoming Symfony 7.4 version continued adding new features such as better controller helpers, more precisi

29 juin 2025, 09:10:15 | Symfony
Symfony 6.4.23 released

Symfony 6.4.23 has just been released. Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in you

28 juin 2025, 09:50:15 | Symfony