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

Jak mogę odszyfrować skrót hasła w PHP?

Bcrypt to jednokierunkowy algorytm haszujący, nie można odszyfrować hashów. Użyj password_verify aby sprawdzić, czy hasło pasuje do zapisanego skrótu:

<?php
// See the password_hash() example to see where this came from.
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (password_verify('rasmuslerdorf', $hash)) {
    echo 'Password is valid!';
} else {
    echo 'Invalid password.';
}

W Twoim przypadku uruchom zapytanie SQL, używając tylko nazwy użytkownika:

$sql_script = 'SELECT * FROM USERS WHERE username=?';

I wykonaj walidację hasła w PHP za pomocą kodu podobnego do powyższego przykładu.

Sposób, w jaki konstruujesz zapytanie, jest bardzo niebezpieczny. Jeśli nie sparametryzujesz poprawnie danych wejściowych, kod będzie podatny na ataki typu SQL injection. Zobacz tę odpowiedź dotyczącą przepełnienia stosu jak zapobiegać wstrzykiwaniu SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy pole tabeli może zawierać myślnik?

  2. Tabela aktualizacji MySQL na podstawie innej wartości tabeli

  3. Baza danych MySQL jest uszkodzona... Co mam teraz zrobić?

  4. Mierzenie rzeczywistego czasu zapytania MySQL

  5. Użyte instrukcje SELECT mają różną liczbę kolumn (REDUX!!)