Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на функциите password_hash и password_verify на PHP 5.5

Пренебрегвайки засега проблемите с изявленията на вашата база данни, ще отговоря на въпроса относно password_hash .

Накратко, не, не го правите така. Не искате да съхранявате солта самостоятелно, трябва да съхранявате както хеша, така и солта и след това да използвате и двете, за да проверите паролата. password_hash връща низ, съдържащ и двете.

password_hash функцията връща низ, който съдържа както хеша, така и солта. И така:

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

След това за проверка:

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

Освен това, както подсказват коментарите, ако се интересувате от сигурност, може да искате да разгледате mysqli (ext/mysql е отхвърлен в PHP5.5), както и тази статия за SQL инжектиране: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. MySQL – Възстановяване на пропусната база данни със схема на производителност

  2. MySQL – Различни методи за познаване на текущия потребител

  3. Грешка 1022 - Не мога да пиша; дублиран ключ в таблицата

  4. Експортирайте MySQL или MariaDB база данни

  5. Как да активирате MySQL Query Cache