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

PHP влизане с помощта на MySQL данни и хеширана парола

Вместо да използвате MD5 или да се опитвате да дешифрирате паролата - както предложиха други тук - просто използвайте родния PHP password_hash() функция, която автоматично проверява дали паролата е правилна за вас.

Шифровайте паролата по този начин:

$unencrypted_password = 'secret!'; 
$encrypted_password = password_hash($unencrypted_password,  PASSWORD_DEFAULT);

След това вмъкнете във вашата DB така:

INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);

Когато искате да проверите дали паролата е правилна, изберете паролата от базата данни с:

SELECT encrypted_password FROM users WHERE username = $username;

Накрая проверете дали паролата е правилна, като използвате passoword_verify() :

$correct = password_verify($unecnrypted_password, $encrypted_password);
if($correct == true) {
    echo 'correct password!';
} else {
    echo 'password incorrect!';
}

Внимавайте да се защитите от 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. Delphi - MySQL Най-добрите компоненти за използване на информация за данни

  2. Архивиране на база данни в MySQL с помощта на C#

  3. как да актуализирам конкретно поле (колона) на ред чрез стойността на автоматично нарастване на този ред с някакъв префикс в mysql?

  4. Повторно свързване на MySQL при изчакване

  5. Основна PDO връзка с MySQL