Używam funkcji php crypt
do zabezpieczenia hasła, ale gdy spróbuję porównać hasło wprowadzone w bazie danych, nie będzie działać.Nie mogę porównać hasła z mojej bazy danych i wprowadzonej
tutaj jest mój kod, aby utworzyć hasło w pierwszej kolejności:
$crypt_password = crypt($_POST['confirm-password']);
tutaj to ja próbuje porównać do hasła w innej funkcji:
$input_crypt_password = crypt($_POST['input-pw']);
if ($input_crypt_password == $dbpassword){
// do change password function
}
To nie działa.
podczas drukowania obu haseł są różne.
dlaczego hasła są różne, mimo że wpisuję to samo hasło i używam funkcji kryptograficznej na obu?
Czy ktoś może wskazać mi właściwy kierunek?
Należy przeczytać dokumentację dotyczącą używanej funkcji. To odpowie na twoje pytanie. – arkascha
szybkie odniesienie: 'Opcjonalny ciąg soli do oparcia mieszania. Jeśli nie zostanie podane, zachowanie jest zdefiniowane przez implementację algorytmu i może prowadzić do nieoczekiwanych wyników. " – bansi
Rozważ skorzystanie z bezpieczniejszego password_hash() - https://secure.php.net/manual/en/function.password-hash. php –