Recherche un mot de passe crypté en MD5 dans ma BD

Fermé
BuddyLove_x52 Messages postés 123 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 16 mai 2017 - 16 sept. 2015 à 16:39
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 - 20 sept. 2015 à 00:20
Salut a tous !

Je suis entrain de créer un site internet avec PHP et mysql et je suis bloqué sur un problème de cryptage !

Mon code marche quand je ne crypte pas le mot de passe mais dés que je le crypte en MD5 ou autre (j'ai essayé aussi sha1, dailleur pouvez-vous me dire ce qui est le mieux svp ?) cela ne marche pas !

Pouvez-vous m'éclaircir sur ce problème ? Merci a vous d'avance ! :)

Voici mon code d'insertion a ma BDD :


<?php
try
                    {
                        // On se connecte à MySQL
                        $bdd = new PDO('mysql:host=localhost;dbname=worfo;charset=utf8', 'root', '');
                        $password =md5($password);
                    }
                    catch(Exception $e)
                    {
                        // En cas d'erreur, on affiche un message et on arrête tout
                            die('Erreur : '.$e->getMessage());
                    }
// Si tout va bien, on peut continuer
                        $req = $bdd->prepare('INSERT INTO users(pseudo, password, sex, a_propos, mail) VALUES(:pseudo, :password, :sex, :a_propos, :mail)');
                        $req->execute(array(
                            'pseudo' => $username,
                            'password' => $password,
                            'sex' => $sex,
                            'a_propos' => $a_propos,
                            'mail' => $mail
                            ));
?>



Mon code qui recherche dans la BDD le pseudo et le mot de passe crypté :

<?php
try
                    {
                        // On se connecte à MySQL
                        $bdd = new PDO('mysql:host=localhost;dbname=worfo;charset=utf8', 'root', '');
                        $password =md5($password);
                         
                    }
                    catch(Exception $e)
                    {
                        // En cas d'erreur, on affiche un message et on arrête tout
                            die('Erreur : '.$e->getMessage());
                    }
    $count_user = 0;   
    $req = $bdd->prepare('SELECT * FROM users WHERE pseudo = :pseudo AND password = :password');
    $req->execute(array('pseudo' => $pseudo, 'password' => $password));
    while($donnees = $req->fetch())
    {
    ++$count_user;
    }
    $req->closeCursor();
     
    if ($count_user != 0) {
     
    echo"sa marche";
        $user_mdp_empty = FALSE;
    }
     
    if (($user_mdp_empty == TRUE) || ($count_user == 0))
    {
        echo "nom d'utilisateur ou mot de passe inscorrect";
    }
?>


Merci d'avance pour votre aide ! :))
A voir également:

1 réponse

nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
Modifié par nicelife90 le 20/09/2015 à 00:21
Bonjour,

Après avoir vérifié ton code je confirme que celui-ci fonctionne!
Je ne comprend pas pourquoi ça ne fonctionne pas de ton coté, tu dois faire erreur à un autre endroit.

Pour ce qui concerne la méthode md5 ou sha1 moi j'utilise sha1.
De plus je crée un string avec le nom d'utilisateur et le mot de passe.

Ex:

$pwd_hash = sha1(strtoupper($username) . ":" . $password);


Bonne chance à toi et bonne fin de journée!
N!C£-L!F£!!!
0