重複の可能性:
PHPパスワードの安全なハッシュとソルト
ランダムなソルトを生成し、それをパスワードと一緒にユーザーデータベースに保存したいと思います。だからこういうことだと思います。
$salt = //random salt code
$hpassword = crypt($password,$salt)
重複の可能性:
PHPパスワードの安全なハッシュとソルト
ランダムなソルトを生成し、それをパスワードと一緒にユーザーデータベースに保存したいと思います。だからこういうことだと思います。
$salt = //random salt code
$hpassword = crypt($password,$salt)
PHPのバージョン5.5には、BCrypt、関数password_hash()
、およびのサポートが組み込まれていますpassword_verify()
。PHPバージョン5.3.7以降には、互換性パックがあり、関数を使用してソルトを作成する方法の優れた実装を見つけることができますmcrypt_create_iv()
。86行目と121行目を参照してください。
この互換性パックがあるため、独自の関数を作成するのではなく、この関数を直接使用することも検討する必要があります。ここに例があります。特にBCryptのソルトの作成はトリッキーなことであり、多くの間違いを犯す可能性があります。
PSソルトは可能な限りランダムにする必要があります(オペレーティングシステムのランダムなソースから読み取る)。これは、決定論的なコンピューターでソルトを一意で予測不可能にするための最良の方法だからです。
既存のフィールド (ユーザー名など) をハッシュして、それをソルトに使用してみてください。
ここで試してみてください: http://en.wikipedia.org/wiki/PBKDF2