6

スクリプトを作成していて、パスワードを保存する必要があります。開発目的で、crypt()簡単で利用できる関数を使用してきました。ほとんど終わったので、もう少し良くて一貫性のあるものに置き換えたいと思います。

私が持っている懸念のいくつかは次のとおりです。

  • すべてのシステムですべてのアルゴリズムがサポートされているわけではありません
  • ソルトが結果の前に追加されることがあります (セキュリティ上の問題のようです)。

PHP 4.3+で動作するものが欲しいです。

利用可能なものはありますか、それとも固執する必要がありcrypt()ますか? を使おうと思いましmd5(md5($password).$salt)た。洞察をありがとう。

4

2 に答える 2

6

何も問題はありませんcrypt

サーバーがサポートしていない場合は、別のサーバーを使用してください。

パスワードのハッシュに MD5 を使用しないでください (さらに言えば SHA1 も使用してください) 。

bcrypt (のフグ方式crypt) または pbkdf2のいずれかを使用します。

ここに pbkdf2 の実装があります: Encrypting Passwords with PHP for Storage Using the RSA PBKDF2 Standard

理由と方法の詳細については、次を参照してください。

于 2011-12-28T22:59:48.660 に答える
4

まず第一に、ソルトを先頭に追加することはセキュリティ上の問題ではありません。パスワードごとのソルトを持つことは大きなメリットであり、pw と一緒に保存してもまったく問題ありません。

現在:あるシステムから別のシステムにパスワードハッシュを転送しない限り、後者が最初のデフォルトアルゴリズムをサポートしていない限り、定義上、悪いことは何も起こりません. PHP 5.3 以降、Blowfish などの組み込みアルゴリズムが PHP に組み込まれており、確実に使用できるようになっています。

于 2011-12-28T23:01:33.373 に答える