登録中に、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');