PHP de connexion avec des mots de passe hachés

Comme le suggère le titre, je vais avoir des problèmes de connexion des utilisateurs, après le malaxage de leurs mots de passe dans le formulaire d'inscription. J'ai utilisé PHP intégré dans password_hash() et password_verify() fonctionne, mais ses sur signin.php où password_verify() est utilisé que je vais avoir des ennuis. Je sais que l'un des paramètres à password_verify() est une table de hachage, mais comment puis-je utiliser le même hash généré et stocké dans signup.php pour être en mesure d'utiliser dans cette fonction?

NOTE: Oui, il y a plus de deux de ces ensembles de code! Connexion de base de données fonctionne, toutes les variables ne sont pas définis dans ces bits SONT définis en quelques lignes. signup.php fonctionne parfaitement et la forme des données, y compris le hachage de mot de passe sont correctement stockés dans ma base de données.

voici la partie de signup.php où le hachage est mis en œuvre:

    $hash = password_hash($password, PASSWORD_DEFAULT);
    $sql = "INSERT INTO users (id, full_name, email, password, username, sign_up_date, activated) VALUES ('', '$full_name', '$email', '$hash', '$username', '$date', '1')";

et voici la partie de signin.php où l' (sans doute même) de hachage est nécessaire:
$password = mysqli_real_escape_string($_POST['password']);

if (!password_verify($password, $hash)) {
    echo 'Invalid password.';
    exit;
}

$sql = "SELECT id, email, password FROM users WHERE email = '$email' AND password = '$password' AND activated = '1' LIMIT 1";
$query = mysqli_query($conn, $sql);

EDIT: j'ai compris moi-même un jour plus tard, avait pour récupérer le hash stocké dans la base de données à l'aide de "SELECT * from...", puis la comparer avec le mot de passe entrés avec password_verify(). Merci pour l'aide quand même!

Où avez-vous sélectionnez la valeur de hachage à partir de la DB à nouveau?
Pendant le processus de connexion, d'abord désinfecter votre $_POST['password']. Ensuite, utiliser le même algorithme de hachage (dans votre cas password_hash($password, PASSWORD_DEFAULT);) puis de le comparer avec les mots de passe de votre base de données.
pourquoi désinfecter le pw? ça va être haché, de toute façon.
Êtes-vous de laisser suffisamment de caractères pour être stockées dans votre base de données de la table? Si vous avez quelque chose comme VARCHAR(50), c'est de couper le mot de passe haché. Le chiffrement est généralement 128 ou 256.
Vérifier cela...peut être très utile pour vous github.com/panique/php-login-minimal

OriginalL'auteur t_soist | 2015-08-21