PHP 5.5がアルファ版であることは知っていますが、私が作成しているこのクラスは、function_exists()を使用してハッシュ機能を利用するために事前に作成されています。
password_hash
ドキュメントをチェックしました。3番目の引数は、現在2つのオプション「salt」と「cost」をサポートしている$options用です。
それは次のように述べています:
コスト。使用する必要のあるアルゴリズムコストを示します。これらの値の例は、crypt()ページにあります。
crypt()ページに移動すると、ドキュメントが表示されます。
次のようにソルトを使用したブローフィッシュハッシュ:「$ 2a $」、「$ 2x $」、または「$ 2y $」、2桁のコストパラメータ「$」、アルファベットからの22桁「./0-9A-Za -z」。ソルトでこの範囲外の文字を使用すると、crypt()は長さゼロの文字列を返します。2桁のコストパラメータは、基になるBlowfishベースのハッシュアルゴリズムの反復回数の2を底とする対数であり、範囲04〜31である必要があります。この範囲外の値では、crypt()が失敗します。5.3.7より前のバージョンのPHPは、ソルトプレフィックスとして「$ 2a $」のみをサポートします。PHP5.3.7では、Blowfish実装のセキュリティ上の弱点を修正するために新しいプレフィックスが導入されました。セキュリティ修正の詳細については、»このドキュメントを参照してください。ただし、要約すると、開発者はPHP5.3のみを対象としています。
頭を包み込むことができないようです。PHP5.3.7以降は$2y$を使用する必要があると書かれていますが、それを取得するためにどのようなコスト値を使用しますか?それを選択するのに最適な値ですか?彼らが提供する例では、値7を使用していますが、上記によれば、最大31になる可能性があります。たとえば、31ではなく4を使用すると、どのような違いがありますか?