パスワードを安全に保存することは重要ですが、PHP 5.5 のpassword_hash() を使用する提案された方法は、関数が正しくありません。
password_hash() は、ハッシュとソルトの両方を含むハッシュ文字列。ソルトとハッシュを別々に保存することはお勧めできません。代わりに、返されたハッシュをデータベースに直接保存します。
パスワードを検証するには、データベースからハッシュとソルトの両方を取得し、次のようにpassword_verify()を使用します。
$hashAndSalt = password_hash($password, PASSWORD_BCRYPT); // Store $hashAndSalt in the database // Verification if (password_verify($password, $hashAndSalt)) { // Verified }
さらに、 ext/mysql の非推奨の性質とデータベース ステートメントの潜在的なセキュリティ脆弱性を考慮してください。 mysqli または PDO を使用し、PHP ドキュメントのガイダンスに従って SQL インジェクション攻撃から保護することをお勧めします。
以上がPHP 5.5 の「password_hash()」と「password_verify()」を安全なパスワード ストレージに正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。