Zastanawiam się, jak korzystać z Hash::needsRehash()
jak ja stara się zobaczyć przy użyciu dokumentacji dokładnie co to za.Laravel - Jak korzystać z Hash :: needsRehash()?
if (Hash::needsRehash($hashed)) {
$hashed = Hash::make('plain-text');
}
Co dokładnie powoduje Hash::needsRehash()
wrócić prawdziwe lub fałszywe, to zwraca wartość true, jeśli hasło jest zakodowane w innym hash (takich jak MD5, SHA1 itp)?
W przypadku, gdy baza danych zawiera wiele skrótów w innym algorytmie, a Hash::needsRehash()
zwraca wartość true, w jaki sposób można ponownie utworzyć hasło użytkownika, aby było aktualne? Nie można polegać na haśle "login", ponieważ najpierw trzeba je porównać, aby potwierdzić, prawda?
Myślę, że mogę przesadzić, ale jestem teraz zdezorientowany. Na szczęście moje hasła użytkowników używają password_hash()
tak więc nie powinno być problemu.
wystarczająco jasne. Pozostaje jeszcze moja troska. Jeśli twoje aktualne hasła użytkownika wymagają ponownego wprowadzenia hasła, w jaki sposób chcesz je ponownie włączyć, jeśli nie możesz zweryfikować prawdziwego hasła użytkownika? –
Zaktualizowałem swoją odpowiedź; masz rację, nie możesz ponownie wprowadzić hasła, chyba że je masz. –
Możesz zawsze sprawdzić hasło użytkownika; kiedy PHP przechowuje hasło, przechowuje również skrót, który był używany. Tak więc PHP jest w stanie sprawdzić poprawność haseł nawet po zmianach hash. –