Password_verify
Résolu/Fermé
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
-
30 déc. 2015 à 15:00
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 30 déc. 2015 à 17:23
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 30 déc. 2015 à 17:23
4 réponses
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
30 déc. 2015 à 15:35
30 déc. 2015 à 15:35
Non, je n'utilise que password_hash pour l'insertion, rien d'autre.
Par exemple, j'ai ça :
Non hashé : courgette
hashé : $2y$10$xsQhNpHOFGiz2.ceTSGRF.ApsowXA14gtMuySmgn62j...
(exatcement avec les 3 petits points, est ce que ça signifierait que la longueur max du Password enregistré dans ma bdd est inférieure à la taille du hash ?...)
Par exemple, j'ai ça :
Non hashé : courgette
hashé : $2y$10$xsQhNpHOFGiz2.ceTSGRF.ApsowXA14gtMuySmgn62j...
(exatcement avec les 3 petits points, est ce que ça signifierait que la longueur max du Password enregistré dans ma bdd est inférieure à la taille du hash ?...)
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
30 déc. 2015 à 17:23
30 déc. 2015 à 17:23
Oui effectivement, c'était bien ça !
J'ai changé pour l'algorithme crypt https://www.php.net/manual/fr/function.crypt.php
Ca fonctionne bien maintenant, merci pour ton aide !
J'ai changé pour l'algorithme crypt https://www.php.net/manual/fr/function.crypt.php
Ca fonctionne bien maintenant, merci pour ton aide !
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 30/12/2015 à 15:09
Modifié par Pitet le 30/12/2015 à 15:09
Salut,
Ton code semble correct.
Concernant l'enregistrement du mot de passe hashé en bdd, tu n'utilises pas de fonctions telle que htmlentities ou addslashes (qui ne doivent pas être utilisée pour l'insertion en bdd) ?
Peux tu nous donner des valeurs d'exemples (password et hash) qui ne fonctionnerait pas ?
Bonne journée,
Ton code semble correct.
Concernant l'enregistrement du mot de passe hashé en bdd, tu n'utilises pas de fonctions telle que htmlentities ou addslashes (qui ne doivent pas être utilisée pour l'insertion en bdd) ?
Peux tu nous donner des valeurs d'exemples (password et hash) qui ne fonctionnerait pas ?
Bonne journée,
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 30/12/2015 à 15:54
Modifié par Pitet le 30/12/2015 à 15:54
Effectivement la longueur de ton champ en bdd n'est pas suffisante.
L'algo par défaut utilisé par password_hash (BCRYPT) va retourner un hash de 60 caractères, or le tiens n'en comporte que 53.
Le conseil de la doc :
"Utilisation de l'algorithme bcrypt (par défaut depuis PHP 5.5.0). Notez que cette constante est concue pour changer dans le temps, au fur et à mesure que des algorithmes plus récents et plus forts sont ajoutés à PHP. Pour cette raison, la longueur du résultat issu de cet algorithme peut changer dans le temps, il est donc recommandé de stocker le résultat dans une colonne de la base de données qui peut contenir au moins 60 caractères (255 caractères peut être un très bon choix)."
http://php.net/manual/fr/function.password-hash.php
L'algo par défaut utilisé par password_hash (BCRYPT) va retourner un hash de 60 caractères, or le tiens n'en comporte que 53.
Le conseil de la doc :
"Utilisation de l'algorithme bcrypt (par défaut depuis PHP 5.5.0). Notez que cette constante est concue pour changer dans le temps, au fur et à mesure que des algorithmes plus récents et plus forts sont ajoutés à PHP. Pour cette raison, la longueur du résultat issu de cet algorithme peut changer dans le temps, il est donc recommandé de stocker le résultat dans une colonne de la base de données qui peut contenir au moins 60 caractères (255 caractères peut être un très bon choix)."
http://php.net/manual/fr/function.password-hash.php