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

Sử dụng hàm password_hash và password_verify của PHP 5.5

Bỏ qua các vấn đề với câu lệnh cơ sở dữ liệu của bạn bây giờ, tôi sẽ trả lời câu hỏi liên quan đến password_hash .

Trong ngắn hạn, không, đó không phải là cách bạn làm điều đó. Bạn không muốn lưu trữ muối một mình, bạn nên lưu trữ cả băm và muối, sau đó sử dụng cả hai để xác minh mật khẩu. password_hash trả về một chuỗi chứa cả hai.

password_hash hàm trả về một chuỗi chứa cả băm và muối. Vì vậy:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into database against user

Sau đó để xác minh:

// Fetch hash+salt from database, place in $hashAndSalt variable
// and then to verify $password:
if (password_verify($password, $hashAndSalt)) {
   // Verified
}

Ngoài ra, như các nhận xét cho thấy, nếu bạn quan tâm đến bảo mật, bạn có thể muốn xem mysqli (ext/mysql không được dùng nữa trong PHP5.5) và cả bài viết này về SQL injection: http://php.net/manual/en/security.database.sql-injection.php



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tối đa theo nhóm

  2. Làm thế nào để đồng bộ cơ sở dữ liệu SQLite trên điện thoại Android với cơ sở dữ liệu MySQL trên máy chủ?

  3. Cách sửa các ký tự UTF8 được mã hóa kép (trong bảng utf-8)

  4. Mysql:Làm thế nào để chọn các nhóm có các giá trị nhất định?

  5. Quản lý tài khoản người dùng, vai trò, quyền, xác thực PHP và MySQL - Phần 6