2017-06-16 5 views
0

次のPHPコードを使用してユーザーのパスワードをハッシュします。PHPのpassword_hash()

$options = [ 
'cost' => 10, 
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM), 
]; 

$hash = password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options); 

この方法は安全ですか?パスワードは塩になっていますか?

+3

のマニュアル[ 'password_hash()'](http://php.net/manual/en/function .password-hash.php)**具体的には**あなた自身のSALT___を構成していないと言っています。あなたが暗号専門のEXPERTでない限り、あなたはその機能と同じくらい良い仕事をしません。また、独自のSALTを作成する機能は廃止予定です(間もなく削除される予定です)。 – RiggsFolly

+0

*「この方法は安全ですか?パスワードは塩になっていますか?」 - 短い答え:はい。長い答え:問題が解決した複製を参照してください。あなたがまだそれについて確信が持てないなら、それを使用せず、ウェブに乗ってはいけません。 –

+0

PHP 7.0.0では塩漬けが推奨されていません* "**警告** saltオプションはPHP 7.0.0以降で廃止されました。 http://php.net/manual/en/function.password-hash.php –

答えて

0

ほとんどの場合、saltパラメータを省略することをお勧めします。このパラメータがなければ、この関数はオペレーティングシステムのランダムなソースから暗号的に安全な塩を生成します。

文献:php.net/manual/en/function.password-hash.php#111620

+0

正しいが、これは弱い答えです。 –

+0

これは、ユーザーから寄せられたマニュアルhttp://php.net/manual/en/function.password-hash.php#111620から提供されたマニュアルからも直接引用されています。編集:このコメントは元の投稿ごとにhttps://stackoverflow.com/revisions/44587681/1 –

+0

それでは、塩と一緒に渡される 'コスト'はどうですか? –

関連する問題