Mot de passe crypte

marghli Messages postés 64 Statut Membre -  
Nyctaclope Messages postés 5295 Date d'inscription   Statut Membre Dernière intervention   -
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. Nyctaclope Messages postés 5295 Date d'inscription   Statut Membre Dernière intervention   1 254
     
    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
  2. chico200987 Messages postés 856 Statut Membre 144
     
    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. marghli Messages postés 64 Statut Membre
       
      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. chico200987 Messages postés 856 Statut Membre 144
       
      Il faut savoir comment tu inseres ton passe dans ta bd, tu as le bout de code ?
      0
    3. marghli Messages postés 64 Statut Membre
       
      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. chico200987 Messages postés 856 Statut Membre 144
       
      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. marghli Messages postés 64 Statut Membre
       
      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