今のところデータベースステートメントの問題を無視して、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