/ / Le mot de passe vérifie toujours les retours échouent dans Laravel (Hash :: check)

Le mot de passe vérifie toujours les retours échouent dans Laravel (Hash :: check) - laravel, hash, mots de passe

J'ai un problème lorsque j'essaie de valider le mot de passe post via Hachage :: chèque dans Laravel 5.5

J'ai créé une table de messages (dans ce cas, une table de vente)avec colonne de mot de passe. Lorsque j'essaie de créer le message, cela fonctionne parfaitement et le mot de passe est haché et appartient également à l'utilisateur connecté. Ensuite, sur la page du message en cours se trouve un bouton avec une entrée (mot de passe) permettant de supprimer ce message, mais la condition est toujours faux.

ma Manette fonction publique destroy (Request $ request, $ id)

$input_pass = request("input_password");

$sale = Sale::find($id);
$hashed = $sale->password;

// Check if sale password is correct
if (Hash::check($input_pass, $sale->password)) {

$sale->delete();

} else {
// something else to do
}

Pour la banque de messages, j'ai utilisé la méthode bcrypt pour hacherle mot de passe. J'ai également essayé de dd ("vente-> mot de passe") qui fait référence à la colonne de la table sales (correct) et à dd ("$ input_pass") qui fait référence au mot de passe saisi sous la forme DELETE (également correct) - alors je "un peu confus, pourquoi la passe ne correspond pas.

Réponses:

3 pour la réponse № 1

De votre commentaire, je trouve que vous avez une erreur logique où vous avez d'abord haché votre mot de passe et le conserver dans DB.

Vous passez la ficelle password à bcrypt où il devrait en fait être quelque chose comme request("password")

Changement

"password" => bcrypt("password"),

à

"password" => bcrypt(request("password")),