Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да дешифрирам хеш на парола в PHP?

Bcrypt е еднопосочен алгоритъм за хеширане, не можете да декриптирате хешове. Използвайте password_verify за да проверите дали дадена парола съвпада със съхранения хеш:

<?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.';
}

Във вашия случай изпълнете SQL заявката, като използвате само потребителското име:

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

И направете проверката на паролата в PHP, като използвате код, подобен на примера по-горе.

Начинът, по който конструирате заявката, е много опасен. Ако не параметризирате правилно входа, кодът ще бъде уязвим за атаки с инжектиране на SQL. Вижте този отговор на Stack Overflow за това как да предотвратите 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. Урок за MySQL – Управление на регистрационни файлове на MySQL сървър:завъртане, компресиране, запазване и изтриване

  2. Как да избегнем буквалния знак за процент, когато опцията NO_BACKSLASH_ESCAPES е активирана?

  3. Има ли някакъв начин да се провери производителността на mysql Indexing

  4. SQL:Повторете ред с резултати няколко пъти и номерирайте редовете

  5. Как да преминете през набор от резултати на mysql