Hacher un mot de passe avec md5

Résolu
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -  
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -
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>
A voir également:

2 réponses

GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Bonjour,

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

Mets cela:
$req->execute(array($_POST['username'], $password)); 
0
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Pas de problème :) Faut juste comprendre que ton encryptage de mot de passe a été mis dans la variable $password, c'est donc cette variable que tu dois utiliser au moment d'insérer le mot de passe dans la bdd.
0
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
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 ^^
0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
$_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é :)
0
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
Ah d'accord ! J'ai compris, maintenant ! Merci de ton aide et de ton explication :)
0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Ça me fais plaisir! Mets le sujet en résolu et bonne continuation :)
0