Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để giải mã băm mật khẩu trong PHP?

Bcrypt là một thuật toán băm một chiều, bạn không thể giải mã các hàm băm. Sử dụng password_verify để kiểm tra xem mật khẩu có khớp với hàm băm được lưu trữ hay không:

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

Trong trường hợp của bạn, hãy chạy truy vấn SQL chỉ sử dụng tên người dùng:

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

Và thực hiện xác thực mật khẩu trong PHP bằng cách sử dụng mã tương tự như ví dụ trên.

Cách bạn đang xây dựng truy vấn là rất nguy hiểm. Nếu bạn không tham số hóa đầu vào đúng cách, mã sẽ dễ bị tấn công SQL injection. Xem câu trả lời về Stack Overflow này về cách ngăn chặn việc đưa vào 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. Ví dụ về MICROSECOND () - MySQL

  2. Tuyên bố VALUES trong MySQL

  3. Làm thế nào để tính toán tổng doanh số mỗi tháng trong MySQL?

  4. Giới thiệu về Firebase

  5. So sánh ngày tháng trong MySQL