sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg dekryptere en adgangskodehash i PHP?

Bcrypt er en envejs-hash-algoritme, du kan ikke dekryptere hash. Brug password_verify for at kontrollere, om en adgangskode matcher den gemte 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.';
}

I dit tilfælde skal du køre SQL-forespørgslen med kun brugernavnet:

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

Og foretag adgangskodevalideringen i PHP ved hjælp af en kode, der ligner eksemplet ovenfor.

Den måde, du konstruerer forespørgslen på, er meget farlig. Hvis du ikke parametrerer input korrekt, vil koden være sårbar over for SQL-injektionsangreb. Se dette Stack Overflow-svar om, hvordan man forhindrer SQL-injektion.



  1. Hvordan bruger man Timestamp_to_scn og Scn_to_timestamp i Oracle?

  2. Sådan fungerer Scale()-funktionen i PostgreSQL

  3. Find databaseforbindelseslækager i din applikation

  4. Måling af "Observer Overhead" af SQL Trace vs. Extended Events