Hacher un mot de passe avec md5 [Résolu/Fermé]

Signaler
Messages postés
123
Date d'inscription
dimanche 12 janvier 2014
Statut
Membre
Dernière intervention
16 mai 2017
-
Messages postés
123
Date d'inscription
dimanche 12 janvier 2014
Statut
Membre
Dernière intervention
16 mai 2017
-
Salut tous le monde ! Je débute en php et je n'arrive pas a hacher mon mot de passe. Je suis entrain de créer un formulaire d'inscription, les données envoyer s'enrgistre bien dans ma base de données mais le mot de passe est pas crypté ! Quelqu'un pourrais m'aider svp ? Merci d'avance.


Voici le code :


<meta charset="utf-8">

<?php

if(isset($_POST['submit']))
{

$username = htmlspecialchars(trim($_POST['username']));
$password = htmlspecialchars(trim($_POST['password']));
$repeatpassword = htmlspecialchars(trim($_POST['repeatpassword']));

if($username&&$password&&$repeatpassword)
{
if(strlen($username)>=4)
{
if(strlen($password)>=6)
{

if($password==$repeatpassword)
{

$password = md5($_POST['password']);

try
{
$bdd = new PDO('mysql:host=localhost;dbname=blablabla', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('INSERT INTO user (username, password) VALUES(?, ?)');
$req->execute(array($_POST['username'], $_POST['password']));


}else echo 'Les mots de passes sont pas indentiques';
}else echo "Mot de passe trop court";
}else echo "Le nom d\'utilisateurest trop court";
}else echo "Veuillez saisir tous les champs";

}
?>
<h1>Inscriptions</h1>
<form method ="post" action="register.php">
<p>votre nom d'utilisateur</p>
<input type="text" name="username">
<p>Votre mot de passe</p>
<input type="password" name="password">
<p>Répéter votre mot de passe</p>
<input type="password" name="repeatpassword"><br><br>
<input type="submit" name="submit" value="Valider">
</form>

2 réponses

Messages postés
2105
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
539
Bonjour,

À la place de ceci:
$req->execute(array($_POST['username'], $_POST['password'])); 

Mets cela:
$req->execute(array($_POST['username'], $password)); 
Messages postés
123
Date d'inscription
dimanche 12 janvier 2014
Statut
Membre
Dernière intervention
16 mai 2017

Merci beaucoup sa marche !! Sa fais plus de 3heures que je me creuse la tête a chercher plusieurs technique pour que cela fonctionne ! Merci de ta réponse rapide et efficace... Tous sa pour un truc si simple, je suis dégoutter lol. J'ai commencer seulement y a deux semaines donc tous sa me parais asse compliqué lol
Messages postés
123
Date d'inscription
dimanche 12 janvier 2014
Statut
Membre
Dernière intervention
16 mai 2017

C'est ce que j'essayer de faire mais moi j'avais essayer comme ceci :

$req->execute(array($_POST['username'], $_POST['$password']));

Et puis bah évidemment sa fonctionner pas ^^. Puis aprés j'ai essayer pleins de manipulations qui tenais pas la route, mais bon, rien ne coûte d'essayer ^^
Messages postés
2105
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
539
$_POST['$password']) est la donnée brute que l'utilisateur a entré comme mot de passe.

$password = md5($_POST['password']); c'est ici que tu cryptes la donnée brute et tu l'attribues à la variable $password.

Donc, si tu insères la variable $_POST['$password']) dans ta bdd, tu insères ce que l'utilisateur a entré, non pas le mot de passe crypté :)
Messages postés
123
Date d'inscription
dimanche 12 janvier 2014
Statut
Membre
Dernière intervention
16 mai 2017

Ah d'accord ! J'ai compris, maintenant ! Merci de ton aide et de ton explication :)
Messages postés
2105
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
26 mars 2020
539
Ça me fais plaisir! Mets le sujet en résolu et bonne continuation :)
Messages postés
123
Date d'inscription
dimanche 12 janvier 2014
Statut
Membre
Dernière intervention
16 mai 2017

Merci, on va essayer de faire un script valable lol.