Mot de passe crypte

Bonjour,

j'insère mot de passe dans la formulaire inscription crypte/Aussi, je crypte le mot de passe de la page identification avec md5

comment corriger l'instruction de ce code pour faire une comparaison d'un mot de passe crypte dans la Bd avec mot de passe d'une page identification ?

le code suivant ne compare bien .

<?
mysql_connect("127.0.0.1","root","");
mysql_select_db("internaute");
incude('config.php');
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
$login = $_POST["login"] ;
$pass = md5($_POST["pass"].$salt) ;
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select mot_passe from ins where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['mot_passe']!= $pass) {
include('passoublie.html');
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
include('CSFT.html');
}
}
else {
include('nouveaumembre.html');
exit;
}
?>

merci

2 réponses

  1. Bonjour

    Ce sont les valeurs après cryptage ( et "salage" ) qu'il faut comparer

    Donc dans le If il faut faire un Md5 et salt sur $data['mot_passe'] ..

    Sauf erreur de ma part , car j'ai lu vite fait ....

    A+
    Nyctaclope
    0
    1. Salut,

      Tu es sur que l'insertion dans ta db est bien fait par le md5 du pass + salt ?

      Tu devrais faire des echo pour voir ce qu'il t'affiche du style :

      <?
      mysql_connect("127.0.0.1","root","");
      mysql_select_db("internaute");
      incude('config.php');
      if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
      $login = $_POST["login"] ;
      $pass = md5($_POST["pass"].$salt) ;
      // on recupère le password de la table qui correspond au login du visiteur
      $sql = "select mot_passe from ins where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
      
      $data = mysql_fetch_assoc($req);
      
      echo "Nous avons " . mysql_num_rows($req) . " resultats pour le login : " . $login . "<br />";
      echo "Le pass de la BD est : " . $data['mot_passe'] . "<br />";
      echo "Le pass saisi est : " . $pass;
      
      /*
      if($data['mot_passe']!= $pass) {
      include('passoublie.html');
      exit;
      }
      else {
      session_start();
      $_SESSION['login'] = $login;
      include('CSFT.html');
      }*/
      }
      else {
      include('nouveaumembre.html');
      exit;
      }
      ?> 
      
      0
      1. salut,
        l'insertion de mot de passe dans BD est crypte
        Je considéré , l'une des instructions de ce code , il faut le corrige pour faire la comparaison

        merci
        0
      2. Il faut savoir comment tu inseres ton passe dans ta bd, tu as le bout de code ?
        0
      3. bonjour ,
        voila le code ajout.php qui insère mot de passe crypte

        <?php
        $nom=$_POST['nom'];
        $prenom=$_POST['prenom'];
        $email=$_POST['email'];
        $login=md5($_POST['login']);
        $mot_passe=md5($_POST['mot_passe']);
        $confirmer_mot_passe=$_POST['confirmer_mot_passe'];
        mysql_connect("127.0.0.1","root","");
        mysql_select_db("internaute");
        $req="insert into ins values ('','$nom','$prenom','$email','$login','$mot_passe','$confirmer_mot_passe')";
        $res=mysql_query($req);
        if ($res) {
        include('validationins.html');
        } else { echo mysql_error();
        }
        mysql_close();
        ?>

        s'il vous plais, comment compare des mots cryptes en md5 ?

        merci
        0
      4. Meme le login est en MD5 ?!?!

        Si oui (et ca me parait inutile..) ton code serait :

        
        <?
        mysql_connect("127.0.0.1","root","");
        mysql_select_db("internaute");
        incude('config.php');
        if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
        $login = $_POST["login"] ;
        $pass = md5($_POST["pass"]) ;
        // on recupère le password de la table qui correspond au login du visiteur
        $sql = "select mot_passe from ins where login='".md5($login)."'";
        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
        
        $data = mysql_fetch_assoc($req);
        
        if($data['mot_passe']!= $pass) {
        include('passoublie.html');
        exit;
        }
        else {
        session_start();
        $_SESSION['login'] = $login;
        include('CSFT.html');
        }
        }
        else {
        include('nouveaumembre.html');
        exit;
        }
        ?>
        
        
        0
      5. bonjour,

        le but: comparer mot de passe crypte dans la BD avec un mot de passe insérer d'après internaute.

        Pourquoi les deux codes ( ajout.php et le la 1ere code ) ne permettent pas une comparaison

        merci
        0