2011-04-14 14 views

答えて

1

これは、ユーザー名を暗号化/ハッシュするための過剰です。あなたがセキュリティを心配している場合は、とランダムsaltを使ってハッシュしてください。

ユーザ名を暗号化することは、userName、部分的なuserNameに基づいて検索する可能性が高いため意味をなさないものです。暗号化だけでは検索が難しくなります。


さてさて、私の人生のために私はそれがstrogestの考え塩とSHA256を使用しています。この記事のRein Henrichsによる良いコメントは、SHA256 may not be the safestを明らかにする。 bcryptを使用することもできますが、非常に遅いと思います。私は概念の証拠をいくつか行いますが、それが遅ければSAH256 +ハッシュにとどまります。

リンクありがとうございます。

+1

SHAは、ブルートフォース攻撃から保護するための十分に複雑なハッシュ関数ではありません。ありがとうございましたhttp://codahale.com/how-to-safely-store-a-password/ –

+0

を参照してください!私は多くを考えましたが、私はちょうどそれが尋ねることを傷つけないだろうと思った – mcbeav

+0

@all更新された答え。 – Nishant

1

不要です。 bcryptのように、ブルートフォース攻撃を不適格にするように設計されたハッシュ関数を使用してください。 SHAは不十分です。

1

いいえ、そうしないでください。

それ以外の場合は、登録ユーザーのリスト、またはそのタイプのものを表示できませんでした。また、他の多くの機能を不必要に不器用にしてしまいます。

適切に高い作業係数でユーザーのパスワードに一方向ダイジェスト方法(bcryptなど)を使用するだけです。

+1

ユーザー名をハッシュすべきではないことに同意しますが、「暗号化された」パスワードの格納もお勧めしません。常に安全な一方向ハッシュを使用してパスワードをハッシュします。私は、リセットを強制する代わりに、管理者の一部が自分のパスワードを解読できるという意味で、私が自分のパスワードを取得できるサイトを常に疑っています。 – squawknull

+0

@squaknull申し訳ありませんが、ハッシュは私が意味していたものです。私の答えを修正します。 – alex

1

平文でパスワードを保存しないでください。しかし、ユーザ名をハッシュする必要はありません。

ただし、クライアントがログインできるようにするために、このユーザー情報を一部のサーバーに使用することを前提としています。パスワードがクライアントからサーバーへ転送されない場合の安全です。その場合、パスワードに片方向ハッシュを使用できます。クライアントとサーバーの両方がハッシュ関数を認識していれば、パスワードは決して通過する必要はありません。しかし、この問題は、ハッシュ・メカニズムを変更したい場合に発生します。クライアントとサーバーの両方を更新する必要があります。その場合、クライアントは使用されたメカニズムのメカニズムをネゴシエートする必要があります。あなたはspnegoメカニズムのようなものをエンディングするでしょう;)

関連する問題