以下の定数は、PHP コアに含まれており、常に利用可能です。
PASSWORD_BCRYPT
(integer)
PASSWORD_BCRYPT
を使うと、
CRYPT_BLOWFISH
アルゴリズムで新たなパスワードハッシュを作ります。
これは常に、"$2y$" crypt フォーマットを使ったハッシュになります。 長さは常に 60 文字です。
サポートするオプション
salt - パスワードのハッシュに使うソルトを手動で設定します。 これは、自動生成されたソルトを上書きすることに注意しましょう。
省略した場合は、パスワードをハッシュするたびに password_hash() がランダムなソルトを自動生成します。これは意図したとおりの操作モードです。
cost - 利用するアルゴリズムのコストを表します。 値の例については crypt() のページを参照ください。
省略した場合のデフォルトは 10 です。この値でもかまいませんが、 ハードウェアの性能が許すならもう少し高くすることもできます。
PASSWORD_DEFAULT
(integer)
アルゴリズムを指定しなかったときのデフォルトとして使うアルゴリズム。 PHP のバージョンが上がるときに、 その時点でより強力なハッシュアルゴリズムに対応していればデフォルトが変わる可能性があります。
この定数の値は、今後変わる可能性がある (きっと変わる) ことに注意しましょう。
つまり、生成されるハッシュの長さも変わる可能性があるということです。
したがって、PASSWORD_DEFAULT
を使う場合は、
ハッシュの格納先は 60 文字以上でも格納できるようにしておく必要があります
(255 文字程度にしておくことをおすすめします)。
この定数の値
PASSWORD_BCRYPT