Как зашифровать пароль с помощью sha1 в php - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь изучить шифрование пароля в PHP, но не совсем понимаю. Поэтому я пытаюсь использовать / внедрить sha1 шифрование в моей форме входа в систему.

Как вы можете видеть в этом коде, я использовал sha1 прямо рядом с моим условием if / else и просто получил ошибку.

<?php

$accountName = "accountuser";
$accountPass = "accountpass";

session_start();

if(isset($_SESSION['accountName'])) {
  echo "<h1>Welcome " .$_SESSION['accountName']."</h1>";

  header("Refresh: 3; url=index.php");
  include 'login.html';
  echo 'Logged in successfuly! <br> Logging in...';
}
  else {
    if($_POST['username']==$accountName && sha1$_POST['password']==$accountPass){

      $_SESSION['$accountName']=$accountName;

      header("Refresh: 3; url=index.php");

      echo 'Logged in successfuly! <br> Logging in...';
    }

    else {

      include 'login.html';

      echo "Wrong username!";

    }

  }

?>

1 Ответ

0 голосов
/ 10 ноября 2018

Хеширование пароля? Для этого есть функция.

Хотя вы можете использовать такие функции, как sha1(), md5() и другие, для шифрования паролей, это не лучшая практика, и обычноне рекомендуется.

Для этого вы должны использовать встроенные функции в PHP:

  • password_hash()
  • password_verify()

Вам нужно использовать их следующим образом:

$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);

Затем сохраните $hash в своей базе данных.


Чтобы проверить, верный пароль или нет, используйте password_verify() вот так:

// $hash = stored hash in your database for the user
$password = $_POST['password']; // password put in by user attempting to login

password_verify($password, $hash);

password_verify() вернет TRUE или FALSE в зависимости от того, правильный пароль или нет.Чтобы проверить, вы можете просто сделать это:

if(!password_verify($password, $hash)) { //password incorrect }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...