sql >> Databáze >  >> RDS >> Mysql

Jak mohu dešifrovat hash hesla v PHP?

Bcrypt je jednosměrný hashovací algoritmus, nemůžete dešifrovat hashe. Použijte password_verify pro kontrolu, zda heslo odpovídá uloženému hash:

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

Ve vašem případě spusťte SQL dotaz pouze pomocí uživatelského jména:

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

A proveďte ověření hesla v PHP pomocí kódu, který je podobný výše uvedenému příkladu.

Způsob, jakým vytváříte dotaz, je velmi nebezpečný. Pokud správně neparametrujete vstup, bude kód zranitelný vůči útokům SQL injection. Viz tuto odpověď Stack Overflow o tom, jak zabránit vkládání SQL.



  1. Skupiny dostupnosti SQL Server AlwaysOn:Instalace a konfigurace, část 2

  2. SCD typ 6

  3. OBJEDNAT BY Alias ​​nefunguje

  4. Skupina SQL Server podle počtu DateTime za hodinu?