Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa mendekripsi hash kata sandi di PHP?

Bcrypt adalah algoritma hashing satu arah, Anda tidak dapat mendekripsi hash. Gunakan password_verify untuk memeriksa apakah kata sandi cocok dengan hash yang disimpan:

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

Dalam kasus Anda, jalankan kueri SQL hanya menggunakan nama pengguna:

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

Dan lakukan validasi password pada PHP menggunakan kode yang mirip dengan contoh di atas.

Cara Anda membuat kueri sangat berbahaya. Jika Anda tidak membuat parameter input dengan benar, kode akan rentan terhadap serangan injeksi SQL. Lihat jawaban Stack Overflow ini tentang cara mencegah injeksi 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. Fungsi MySQL MOD() – Melakukan Operasi Modulo di MySQL

  2. Di MySQL, dapatkah saya menunda pemeriksaan integritas referensial hingga komit?

  3. Bagaimana cara mengulang kueri MySQL melalui PDO di PHP?

  4. Pemicu MySQL setelah pembaruan hanya jika baris telah berubah

  5. Bagaimana cara mengatur zona waktu MySQL?