PASSWORD_DEFAULT と PASSWORD_BCRYPT の違いは何ですか? どちらも Blowfish 暗号化アルゴリズムを使用していますか? アルゴリズムのコストとは何ですか? PHP で password_hash を設定する方法は、60 ではなく 255 ハッシュ長を生成しますか?
3 に答える
現在サポートされているアルゴリズムは のみ (CRYPT_BLWFISH を使用) であるため、現在のところ と の間にPASSWORD_BCRYPT
違いはありません。の目的は、将来追加のアルゴリズムを含めることができるようにすることです。その場合、サポートされている最強のハッシュ アルゴリズムを適用するために常に使用されます。PASSWORD_DEFAULT
PASSWORD_BCRYPT
PASSWORD_DEFAULT
PASSWORD_DEFAULT
コストは、実行されるアルゴリズムの反復回数に関連し、計算速度と生成されるハッシュ値に影響します。コストが高いと実行に時間がかかり、ブルート フォース攻撃が遅くなります
ドキュメント ごとに、PASSWORD_DEFAULT
将来の証拠となるように意図されています
ドキュメントから:
PASSWORD_DEFAULT
- bcrypt アルゴリズムを使用します (PHP 5.5.0 以降のデフォルト)。この定数は、より強力な新しいアルゴリズムが PHP に追加されるにつれて、時間の経過とともに変化するように設計されていることに注意してください。そのため、この識別子を使用した結果の長さは、時間の経過とともに変化する可能性があります。したがって、60 文字を超えて拡張できるデータベース列に結果を格納することをお勧めします (255 文字が適切です)。
今のところPASSWORD_DEFAULT
との間に違いはありません。ここを参照PASSWORD_BCRYPT
コストは、ハッシュが適用されるラウンド数によって異なります。上のリンク先でも説明されています。ハッシュのセキュリティを強化したい場合は、長さではなくラウンド数を増やすことをお勧めします。