PHP を使用してデータベース テーブル内にパスワードを保存する最も安全で効率的な方法はどれですか?
これまでのところ、誰かが最終的にデータベースにアクセスした場合、レインボー テーブルを使用して簡単にハッキングできるパスワードを格納するためにmd5()
とアルゴリズムを使用しました。sha256
通常、Bcrypt は最も安全なオプションと考えられています。
PHP 5.5 を使用している場合は、新しいパスワード ハッシュ API を使用して簡単に操作できます。Hashing Passwords with the PHP 5.5 Password Hashing API にはまともなチュートリアルがあります。
bcrypt を使用することは、パスワードをハッシュするための現在受け入れられているベスト プラクティスですが、多くの開発者は依然として MD5 や SHA1 などの古くて弱いアルゴリズムを使用しています。一部の開発者は、ハッシュ中にソルトさえ使用しません。PHP 5.5 の新しいハッシュ API は、bcrypt の複雑さを隠しながら、bcrypt に注目を集めることを目的としています。