Bonsoir à tous, j'ai un souci avec le md5 comme marqué dans le titre, je vous expose mon problème.

Je suis en ce moment entrain de développer un site web avec une partie pour les membres, donc mes futurs visiteurs pourront s'enregistrer et se loguer.
Pour un souci de sécurité je veux que le mot de passe des membres soit haché dans ma base de donnée. j'ai réussi à haché les mots de passe ce n'est pas encore le problème.

Voici le problème, quand le membre va pour se loguer il rentre son pseudo et son mot de passe, mais cela ne fonctionne pas.
Mon script fonctionne parfaitement sans la fonction md5.
J'ai essayé de copier le mot de passe haché sur ma base de donnée et de le coller la ou le membre est supposé l'inscrire et la ça fonctionne.

Ce qui veux dire qu'il n'y à pas une remise en forme du mot de passe haché vers le mot de passe d'origine que le membre à tapé lors de sont inscription.
Et je sais vraiment pas comment procéder, de l'aide serai la bien venu.

Voici ma requête lors de l'enregistrement du membre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mysql_query("INSERT INTO membre (login_membre, pass_membre, mail_membre, date_inscription, statut_membre, avatar) VALUES('$login', md5('$pass'), '$mail', NOW('".$_POST["date_inscription"]."'), '$user', '$fichier')");
Donc ici tout se passe bien le mot de passe est bien haché par la fonction md5 dans ma base de donnée (dans ma bdd le champ pass_membre est en varchar(50) donc pas de souci avec le nombre de caractére).

Voici le deuxième script qui permet de loguer le membre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
<?php session_start();
 
include("include/inc_connexion/bdd.php");
if(isset($_POST['envoyer']))
{
		$login = mysql_real_escape_string(htmlspecialchars ($_POST['login']));
	    $pass = mysql_real_escape_string(htmlspecialchars ($_POST['mot_de_passe']));
 
	if($login != '' and $pass!= '' )
	{
 
		$demande = mysql_query("SELECT * FROM membre WHERE login_membre= '$login' ");
		$reponse = mysql_fetch_array($demande);
 
	if( $reponse['login_membre'] == $login AND $reponse['pass_membre'] == $pass)
	{
		$_SESSION['id'] = $reponse['id_membre'];
		$_SESSION['statut'] = $reponse['statut_membre'];
		$_SESSION['login'] = $reponse['login_membre'];
		$_SESSION['mail'] = $reponse['mail_membre'];
 
		header('Location: index.php');
 
 
	}
 
	else
	{
 
	header('Location: index.php?erreur=1');
	}
	}
 
	else
	{
		header('Location: index.php?erreur=2');
	}
}
 
 ?>
C'est ce script qui me pose problème, je ne sais pas ou mettre la fonction md5.

Je remercie les personnes qui porterons un œil sur mon souci.