Tenho um banco de dados com usuário e senha (gerado usando BCrypt), porém não consigo fazer a verificação da senha, comparando a senha digitada no campo com a senha do banco.
Antes dessa comparação eu chamo a função BCrypt novamente, e ela gera uma outra hash, ai então nunca dá a hash que está no banco. Me falaram que eu teria que fornecer a hash que está no banco pra fazer essa comparação. Mas com todas as senhas eu terei que fazer isso, ou eu puxo do banco e armazeno temporariamente em uma sessão por exemplo?
Segue meu código:
`<?php
include(“Bcrypt.php”);
$usuario = $_POST['user'];
$passwd = $_POST['password'];
$hash = Bcrypt::hash($passwd);
$conecta = mysql_connect("localhost", "root", "") or print (mysql_error());
print "Conexão OK!";
if($conecta)
{
$baseSelecionada = mysql_select_db("gestaoescolar");
if ($baseSelecionada) {
print "Banco selecionado!";
}
} else {
die('Não conectado : ' . mysql_error());
}
print " ".$hash;
$queryRetorno = "SELECT * FROM usuario WHERE nome='".$usuario."' AND senha='".$hash."' " ;
$buscar = mysql_query($queryRetorno, $conecta);
print " ".mysql_num_rows($buscar);
while($registro = mysql_fetch_assoc($buscar)){
if (Bcrypt::check($passwd, $registro["senha"]) && $usuario == $registro["nome"]) {
print "1";
} else {
print "0";
}
}
mysql_close($conecta);
?>`