Bonjour,

Je suis en train de réaliser une mini interface de connexion des utilisateurs ayant pour but de crypter leur mdp dans la bdd et de décrypter leur mdp pour qui se connecte, donc le cryptage du mdp de l'utilisateur marche bien et après pour qui se connecte, je voudrais décrypter son mdp des idées pour comment procéder?

Ce que je fais

Décrypter les mdp des utilisateurs pour la connection

méthode php de décryptage

public function decrypter($maCleDeCryptage="", $maChaineCrypter){
if($maCleDeCryptage==""){
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
}
$maCleDeCryptage = md5($maCleDeCryptage);
$letter = -1;
$newstr = '';
$maChaineCrypter = base64_decode($maChaineCrypter);
$strlen = strlen($maChaineCrypter);
for ( $i = 0; $i < $strlen; $i++ ){
$letter++;
if ( $letter > 31 ){
$letter = 0;
}
$neword = ord($maChaineCrypter{$i}) - ord($maCleDeCryptage{$letter});
if ( $neword < 1 ){
$neword += 256;
}
$newstr .= chr($neword);
}
return $newstr;
}

}

ma page de connexion:

<?php 

include_once('Default.php'); 
include('MVC/Vue/VueConnexion.php');
include('MVC/Controleur/Controleur_site.php');
include('Include/cleCryptage.php');

$Connexion = new Controleur("localhost", "cryptMdp", "root", "");

if(isset($_POST['sub']))
{
    $email = htmlspecialchars($_POST['eml']);
    $mdp = htmlspecialchars($_POST['mdp']);

    $where = array(
        "email" => $email,
        "mdp" => $mdp
        );
    $champs = array("nom", "email", "mdp");

    $seConnecter = $Connexion-> ConnexionUser($champs, $where);

    if($seConnecter['email'] != $email && $seConnecter['mdp'] != $mdp)
    {
         echo"<br />
        <div class='ui container'>
        <div class='ui negative message'>
            <i class='close icon'></i>
                <p> Email ou mot de passe incorrect </p>
        </div>
        </div>
        ";
    }
    else
    {
         echo"<br />
            <div class='ui container'>
            <div class='ui positive message'>
                <i class='close icon'></i>
                    <p> Connexion réussite </p>
                </div>
            </div>
            ";
    }
}

include_once('Include/jsGeneral.php'); 
?>

Ce que je veux

bien décrypter le mdp et se connecter

5 réponses


SLK
Réponse acceptée

Salut,

ok Balsakup mais si je le recrypt il va donner un cryptage différent à celui déjà dans la base de donnée non?

Non, parce que la méthode de cryptage retournera toujours le même résultat si on lui donne toujours le même paramètre de départ.

toto --> cryptage ---> 0ff5plx324f5sdf6a99e (c'est juste pour l'exemple hein... J'ai juste rentré des chiffres et des lettre au hasard)

2 jours plus tard (ou 1 siècle),
si tu REcrypte la même chose (ici : "toto"),
alors le résultat sera à nouveau : "0ff5plx324f5sdf6a99e" (la même chose).

Sinon tu peux utiliser : password_hash() et password_verify(), c'est plus simple ^^

Salut, on ne décrypte pas un mot de passe.
On crypte le mot de passe envoyé par le formulaire de connexion et on le compare au mot de passe crypté en base de données.
Si c'est égale, alors c'est bon, sinon pas bon.

Microse
Auteur

ok Balsakup mais si je le recrypt il va donner un cryptage différent à celui déjà dans la base de donnée non?

Microse
Auteur

ok merci sa marche :)