Lid |
|
Beste leden,
Ik loop vast in een script voor registratie met name bij password hashen. Het hashen gaat goed, maar een ingevoerde password in de database komt helaas niet overeen. Wel als ik de hash handmatig in de database invoer, die ik geneer vanuit hetzelfde wachtwoord op de testpagina. Ik heb dan ook het gevoel dat ik vast loop bij het invoeren van een hash in de database middels het registratie scriptje. Ik heb al verschillende dingen geprobeerd waaronder real escape string en addslashes.
Bijgevoegd is het stukje code van beide pagina's.
Edit: er ging iets mis. Bij deze de code in dit bericht:
/* registratie pagina */ $options = [
'cost' => 11,
];
$passhash = $_SESSION['regpassword']."n";
$passworddb = addslashes( password_hash($passhash, PASSWORD_BCRYPT, $options)."n");
/* testpagina */
$options = [
'cost' => 11,
];
$gebruikersnaam = 'test7';
$wachtwoord = 'test777';
$ww2 = password_hash($wachtwoord,PASSWORD_BCRYPT,$options)."n";
$sqlpw = mysql_query("SELECT * FROM tbluser WHERE user = '".$gebruikersnaam."'");
while($pwa = mysql_fetch_array($sqlpw))
{
$arun = $pwa['user'];
$arpw = stripslashes($pwa['password']."n");
}
print "Wachtwoord: ".$wachtwoord."<br>";
print "Hash: ".$ww2."<br>";
print "Database: ".$arpw."<br><br>";
if(password_verify($wachtwoord,$arpw))
{
print "password correct";
}
else
{
print "password incorrect";
}
/* registratie pagina */ $options = [ 'cost' => 11, ]; $passhash = $_SESSION['regpassword']."n"; $passworddb = addslashes( password_hash ($passhash, PASSWORD_BCRYPT , $options)."n"); /* testpagina */ $options = [ 'cost' => 11, ]; $gebruikersnaam = 'test7'; $wachtwoord = 'test777'; $ww2 = password_hash($wachtwoord,PASSWORD_BCRYPT,$options)."n"; $sqlpw = mysql_query("SELECT * FROM tbluser WHERE user = '".$gebruikersnaam."'"); { $arun = $pwa['user']; } print "Wachtwoord: ".$wachtwoord."<br>"; print "Hash: ".$ww2."<br>"; print "Database: ".$arpw."<br><br>"; if(password_verify($wachtwoord,$arpw)) { print "password correct"; } else { print "password incorrect"; }
Edit: hij pakt de slash forward n niet. Daar moet nog een slash voor zoals het hoort. Of zal dat een/het probleem zijn?
|