IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Comparaison de mots de passe PHP-MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 208
    Points : 100
    Points
    100
    Par défaut Comparaison de mots de passe PHP-MySQL
    Salut !

    J'ai un problème avec la comparaison de mes mots de passe.
    Pour le hashage de mes mots de passe je me sers de SHA256 avant de les stocker dans ma table.
    Lors du login, je compare donc les mots de passe. Le problème est que la comparaison fonctionne pour certains mots de passe mais pas pour d'autres alors que les hashs sont, à priori, identiques.
    Pour les comparer j'utilise une requête SQL du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mdp=mysql_real_escape_string(MHASH(MHASH_SHA256,$_SERVER['PHP_AUTH_PW']);
    req="SELECT Nom From Users WHERE pass='".$mdp."'";
    Je ne comprends pas pourquoi certaines comparaisons fonctionnent mais pas d'autres.
    D'où cela pourrait-il venir ?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 356
    Points : 15 702
    Points
    15 702
    Par défaut
    donne nous un exemple qui ne fonctionne pas

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    salut

    ne devrais-tu pas utliser bin2hex pour convertir d'abord les données binaire en ascii de ton mot de passe encodé.

    Que te permet de récupérer $_SERVER['PHP_AUTH_PW'] ?

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 208
    Points : 100
    Points
    100
    Par défaut
    $_SERVER['PHP_AUTH_PW'] me permet de récupérer le mot de passe en clair.
    Par contre, le bin2hex, je dois le faire avant de stocker mes mots de passe dans ma table ou avant de le comparer ?

    Voici un exemple de comparaison qui ne fonctionne pas :

    Mot de passe stocké dans ma table : æò,ä…Ò4/'ŸÂµü‰ü†4ÛmâD1Ðz“ ,”4Ë™
    Mot de passe que je compare : æò,ä…Ò4/'ŸÂµü‰ü†4ÛmâD1Ðz“ ,”4Ë™

    Les mêmes donc, enfin, à première vue.

    EDIT: Effectivement, en stockant le mot de passe après un MHASH puis un bin2hex la comparaison fonctionne. Niveau sécurité c'est propre ?
    Au départ, j'utilisais MD5 pour le hachage mais je suis tombé sur un site qui permet de remonter au mot de passe à partir du hash du coup j'ai modifié la façon de stocker mes mots de passe.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    je pense que c'est bon.
    j'ai pris ça sur le manuel php, pour le bin2hex.
    En ce qui concerne le hash, effctivement j'ai lu qu'il ne fallait plus utiliser md5 mais plutot sha1. Encore que celle-ci à priori été cassé par certains.
    Donc effctivement il faut se tourner vers sha256.

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 208
    Points : 100
    Points
    100
    Par défaut
    Ok, merci beaucoup pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] update mot de passe php mysql
    Par Anandamine dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/06/2012, 17h08
  2. [Delphi] Lecture et comparaison de mots de passe
    Par Jayceblaster dans le forum Langage
    Réponses: 6
    Dernier message: 22/04/2006, 12h21
  3. Protection du mot de passe de mysql
    Par FoxLeRenard dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 21/02/2006, 12h02
  4. mot de passe base MySQL
    Par jean06 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 01/10/2005, 12h14
  5. Encodage et comparaison de mot de passe
    Par SuperCed dans le forum Sécurité
    Réponses: 4
    Dernier message: 27/05/2005, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo