Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Haszowanie hasła za pomocą krypty nie działa podczas logowania, wyświetla nieprawidłowe hasło

Po rejestracji tworzysz unikalną sól. Ta sól jest teraz częścią haszyszu. Jeśli przyjrzysz się uważnie, zobaczysz, że jest on osadzony w pierwszej części skrótu. Aby sprawdzić hasło, użyj soli poprzedniego zaszyfrowanego hasła, aby ponownie użyć tej samej soli.

$correctPasswordHash = getPasswordFromDatabase($_POST['username']);
$hash = crypt($_POST['password'], $correctPasswordHash);

if ($correctPasswordHash === $hash) ...

Aby było to łatwiejsze i bardziej niezawodne, użyj biblioteki password_compat , który zawiera to w łatwym w użyciu interfejsie API, który zostanie również zintegrowany z przyszłą wersją PHP. Sprawdź jego kod źródłowy pod kątem prawidłowego użycia crypt , ponieważ istnieją pewne pułapki, którymi trzeba się zająć. Biblioteka password_compat używa również niestandardowego porównania binarnego zamiast prostego === aby udaremnić ataki czasowe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamicznie ładuj dane na div scroll za pomocą php, mysql, jquery i ajax

  2. MySQL - jak przechowywać czas z prawidłową strefą czasową? (z Javy)

  3. Android Room - Obsługa listy obiektów w obiekcie i odpytywanie wyników

  4. MYSQL nadrzędny podrzędny Ta sama tabela; PHP Nest Children w rodzicach jako wielowymiarowa tablica

  5. MySQL:Zaznaczanie wszystkich kolumn w tabeli plus jedna kolumna z tej samej tabeli