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 -
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>
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:
- Hacher un mot de passe avec md5
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
2 réponses
Bonjour,
À la place de ceci:
Mets cela:
À la place de ceci:
$req->execute(array($_POST['username'], $_POST['password']));
Mets cela:
$req->execute(array($_POST['username'], $password));
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
$_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é :)
$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é :)