PHP のパスワード ハッシュ: SHA1、MD5、SHA256 と Bcrypt
安全な PHP ログイン システムを設計する場合、パスワード ハッシュの選択アルゴリズムが重要です。 SHA1、MD5、SHA256 は伝統的に使用されてきましたが、計算が速いためクラッキングに対して脆弱です。
推奨: 代わりに Bcrypt を使用してください
最適なセキュリティを確保するには、前述のハッシュ アルゴリズムを放棄し、代わりに bcrypt を採用することをお勧めします。 Bcrypt は計算負荷が高く、クラッキングに対する耐性が高いように設計されています。
PHP での bcrypt の実装
PHP 5.5 以降では、bcrypt ハッシュ用の組み込み関数が提供されています。
<code class="php">// Creating a hash $hash = password_hash($password, PASSWORD_DEFAULT, ['cost' => 12]); // Verifying the password against the stored hash if (password_verify($password, $hash)) { // Success! Log the user in. }</code>
ソルトの生成
Bcrypt は、暗号的に安全な擬似乱数生成器 (CSPRNG) を使用してソルトを自動的に生成します。したがって、ソルトを手動で生成してパスワードと組み合わせる必要はありません。
bcrypt に関する注意
これらの問題を軽減するには、bcrypt でパスワードを実行する前にパスワードを事前にハッシュするパスワード ハッシュ ライブラリの使用を避けてください。代わりに、ハッシュを安全に処理する ZendCrypt や PasswordLock などの信頼できるライブラリを選択してください。
結論
かつて SHA1、MD5、SHA256 は許容可能なハッシュ アルゴリズムと考えられていましたが、現在はクラックに対する脆弱性のため、PHP ログインには推奨されなくなりました。 Bcrypt は、安全なパスワード ストレージの推奨される選択肢として浮上しており、不正アクセスに対するより高いレベルの保護を提供します。
以上が安全な PHP ログインに最適なパスワード ハッシュ アルゴリズムは、SHA1、MD5、SHA256、または bcrypt のどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。