Espace membres

Bonjour Anonyme

Inscription

Email :
Mot de passe :

Mot de passe oublié ?

Nos scripts

MySpeach

MySpeach est un chat php sans base de donnée, rapide, léger et facile à prendre en main. DEMO

MyPHPUpload

MyPHPUpload est un script d'upload sécurisé écrit en PHP. DEMO

GrapAgenda

Agenda PHP et MySQL avec comptes utilisateurs et administration. DEMO

Livre PHP

création de site

Mot de passe, md5 et grain de sel

Portion de code ajouté par sky le 02-07-2010

Grain sel et md5()

md5 est utilisé pour encoder une chaine de façon non décodable notamment pour les mots de passe stocker dans une base de donnée.

Le résultat md5 d'une chaine de caractère sera toujours la même.

Certaines personnes ont constituer des base de données de correspondance entre chaine md5 et chaine non encodé.

Pour ne pas avoir un résultat md5 qui sera assez simple de trouver, on utilise une méthode communément appellé "grain de sel".
Ceci consite à toujours ajouter une petite chaine de caractère à votre mot de passe.

Exemple sans grain de sel :
<?php
$password = "MonMotdepasse";
$paswordEncode = md5($password);

echo '<p>Mot de passe encodé : '.$paswordEncode.'</p>';
?>


Exemple AVEC grain de sel :
<?php
$sel = 'AhJ5811L';
$password = "MonMotdepasse";
$paswordEncode = md5($password.$sel);

echo '<p>Mot de passe encodé avec le grain de sel : '.$paswordEncode.'</p>';
?>


Comparer deux mot de passe dont une est encodé avec un grain de sel et stocker dans une base de donnée MySQL et l'autre provient d'un formulaire web :
<?php
$sel = 'AhJ5811L';
$password = $_POST['password'];
$paswordEncode = md5($password.$sel);

$requete = "SELECT * FROM Users WHERE password='$paswordEncode'";
$sql = mysql_query($requete);

if(mysql_num_rows($sql) == 1)
    echo '<p>Le mot de passe existe bien dans la bae de donnée.</p>';
else
    echo '<p>Erreur, le mot de passe n\'existe pas.</p>';
?>

Commentaires

Aucun commentaire. Soyez le premier !

Pseudo
Email
Commentaire

Merci d'écrire le code ici :