4 votes

longueur maximale du champ mot de passe de l'utilisateur avec "algorithme : auto" ?

Symfony 4.3 a déprécié l'algorithme bcrypt, voir UPGRADE-4.3.md :

La configuration des encodeurs utilisant argon2i ou bcrypt comme algorithme a été dépréciée, utilisez auto à la place.

J'ai donc modifié security.yaml en :

encoders:
    App\Entity\User:
        algorithm: auto

Le problème est qu'après le passage à l'option automatique, la chaîne hachée est plus longue :

'INSERT INTO users (..., password, ...) VALUES (...)' avec params [..., "$argon2id$v=19$m=65536,t=6,p=1$d2RhZjVuaWJsSnE0TW5haA$ycOn7EHjPOoBTSa6SHDOBWL2AvwfPNjAstlSTEMmPpU", ...] :

SQLSTATE[22001] : String data, right truncated : [ ] colonne 'password' à la ligne 1

Cette chaîne contient 97 caractères, alors que la colonne de mon mot de passe en contient 64. Je ne trouve pas de documentation sur la longueur maximale possible avec l'attribut "auto", est-ce 97 ? Ou peut-elle être plus longue ?

3voto

chalasr Points 6887

Comme l'a dit @Cerad dans les commentaires, la auto produira probablement toujours des mots de passe qui sont pris en charge par le mode password_hash() fonction PHP intégrée (en fonction de la plate-forme).
Vous pouvez donc vous fier en toute sécurité aux indications données par la fonction password_hash() :

P 2 ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X