-3

登録中に、SHA 512を使用してパスワードをハッシュおよびソルトしました

次のように

// Create a random salt
$salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
// Create salted password (Careful not to over season)
$pass = hash('sha512', $pass.$salt);

ソルトとパスはデータベースに保存されます。しかし、ハッシュ化およびソルト化されたパスワードを使用してログインフォームを作成する方法がわかりません。以下は私のログインフォームです

//session_start();

if (
    isset($_POST['username']) &&
    isset($_POST['pass']) &&
    !empty($_POST['username']) &&
    !empty($_POST['pass'])

) {

    $db = new PDO(
        'mysql:host=localhost;dbname=timeline', // dsn

        'root', // username
        '' // password
    );


    $statement = $db->prepare('
        SELECT * FROM users
        WHERE username = ?
        AND password = ?

    ');

    $statement->execute(array(
        $_POST['username'],
        $_POST['pass']

    ));

    if ($row = $statement->fetch()) {

        $_SESSION['sess_user'] = $row['uid'];

        $_SESSION['sess_name'] = $row['username'];
        include('success.php');


    } else include('fail.php');

} else include('fail.php');
4

1 に答える 1