2009-08-09 16 views
0

パスワードのハッシュをディスクに保存する必要があります。私はどのハッシュ関数を使うべきかは完全にはわかりませんが(それらはすべて現時点ではいくらか問題があるようですが)、私はSHA-256に傾いています。ディスク上のストレージのパスワードをハッシュする(詳細は内部で)

私の計画は、ユーザーのパスワードを取得し、そのユーザーID、ランダムなユーザー固有の塩、および汎用のサイト全体の塩と組み合わせることです。これらの値を連結して、結果として得られる単一の文字列をハッシュするか、それぞれ別々にハッシュするか、ハッシュを連結してハッシュする必要がありますか?また、注文(パスワード、ユーザーID、ユーザー塩、サイト塩)は関係しますか?私は好きですがそれらを並べ替えることができますか、または(サイト塩)または完全に予測可能なもの(ユーザーID /ユーザー塩)を最初に変更することは悪い考えですか?

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

答えて

2

SHA-256は現在利用可能なオプションのほうが良いようです。

すべてを連結しても問題ありません。順序はすべて重要ではありません。かなり長い塩分値を使用していることを確認してください。

この投稿は、いくつかの良いrecommendations- What algorithm should I use to hash passwords into my database?

0

前SOこれについての質問:

Password handling best practices?

What algorithm should I use to hash passwords into my database?

しかし、あなたの特定の質問に簡単に答えを提供する:

  • SHA-256は、実行可能な選択肢です。
  • 単一の文字列をハッシュできます。
  • オーダーは関係ありません。
  • 2種類の塩は必要ありません。ユーザー固有の塩だけでも問題ありません。サイト全体の塩は不要で、実際には何も寄与しません。
+0

Grr - 18秒で私を打つ。重複して申し訳ありません:D –

+0

これはStackOverflowの性質です。 :) – Amber

1

なぜbcryptを持っていますか?パスワードのハッシングは非常に遅いはずですが、SHA *は非常に高速になるように設計されています。 bcryptは、パスワードハッシュ用に特別に設計されています。

0

ハッシュハッシュを絶対に使用しないでください。

+0

ちょうど興味があります、どうしてですか? – Moshe

+0

良い質問 - 私はその時に何を考えているのか分かりません...おそらく単純にハッシュが予測可能な場合、ハッシュのハッシュもそうです。 –

+0

生ハッシュ(塩なし)を公開するので再ハッシュすべきではありません – jmkeyes

関連する問題