2011-12-29 12 views
3

私はあなたのアプリケーションにパスワードを保存するためにPHPassを使用しています。md5やsha1よりも安全だからです。私はどのように私はパスワードで塩を使用するかについての質問があります。ユーザー挿入したときに私が集めたものからPHPassの正しい実装

は、私はこのようにそれを使用します。

$pwdHasher = new PasswordHash(8, false); 
$hash = $pwdHasher->HashPassword($input_password); 

とを、あなたがログイン時にユーザーの詳細を確認するとき、あなたが実行します。

$pwdHasher = new PasswordHash(8, FALSE); 
if ($pwdHasher->CheckPassword($input_password, $hash_from_db)) { 
    echo 'password correct'; 
} else { 
    echo 'wrong credentials'; 
} 

しかし、私塩を使うものは何も見ないでください。私が読んだことから、私のユーザテーブルは、パスワードをハッシュするときに使用される塩のための余分なフィールドを持っているはずですが、PHPassのCheckPasswordメソッドは塩をとらないのですか?

ありがとうございました。

+0

[phpassハッシュに塩が含まれているか、塩を入れる必要がありますか?](http://stackoverflow.com/questions/2596348/is-the-salt-contained-in-a- phpass-hash-do-you-need-to-salt-its-input) –

+0

私はあなたのライブラリーを代わりに使用するように指示します。しかし、それはちょうど間違っています。 PHPassはsalt自体を作成し、それをハッシュの中に格納するかもしれません。ドキュメントを簡単に見てから。 –

答えて

5

Phpassはパスワードをハッシュするときに塩を追加するので、別の塩を追加してデータベースに保存する必要はありません。

関連する問題