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?
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');
?>
bien décrypter le mdp et se connecter
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).
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.
ok Balsakup mais si je le recrypt il va donner un cryptage différent à celui déjà dans la base de donnée non?