Problème de comparaison de mots de passe MySQL

Problème de comparaison de mots de passe MySQL - PHP - Programmation

Marsh Posté le 30-07-2007 à 09:02:44    

Salut !
 
J'ai un problème avec la comparaison de mes mots de passe.
Pour le hashage de mes mots de passe je me sers de SHA256 avant de les stocker dans ma table.
Lors du login, je compare donc les mots de passe. Le problème est que la comparaison fonctionne pour certains mots de passe mais pas pour d'autres alors que les hashs sont, à priori, identiques.
Pour les comparer j'utilise une requête SQL du style:

Code :
  1. $mdp=mysql_real_escape_string(MHASH(MHASH_SHA256,$_SERVER['PHP_AUTH_PW']);
  2. req="SELECT Nom From Users WHERE pass='".$mdp."'";


 
Je ne comprends pas pourquoi certaines comparaisons fonctionnent mais pas d'autres.
D'où cela pourrait-il venir ?
 
Merci d'avance.

Reply

Marsh Posté le 30-07-2007 à 09:02:44   

Reply

Marsh Posté le 30-07-2007 à 10:52:29    

Les mots de passe après hachage peuvent être stockés dans un champ VARCHAR, il n'y a pas de problème à ce niveau là ?
Dans certains mots de passe hachés, il y a des simple quotes ou des double, je me demande si le problème ne vient pas de là.

Reply

Marsh Posté le 31-07-2007 à 21:23:09    

ta méthode est foireuse, tu récupères le nom pour lequel on a tel mdp. Si 2 utilisateurs veulent utiliser le même mdp on est dans la merde...
 
Enlèves ton mysql_real_escape_string il sert à rien là vu que tu veux un hash...
 
Ca devrait mieux aller après ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed