パスワードハッシングに問題があります。Javaでハッシングする - >ハッシュと塩からパスワードを取得する
私はここに、この1のようなハッシュ関数を使用したい:この機能を
私はそれらをデータベースに保存する前に、私はパスワードをハッシュすることができます。私のアプリケーションで
しかし
は、私は(メールサーバーなど)が、javacodeの内側に、私はではなく、プレーンテキストのパスワードとハッシュ化されていないパスワードが必要に異なるサーバーにログインするときに、パスワードを使用します。
これで、別のサーバーにログインするためにプレーンテキストのパスワードをもう一度抽出することができます(ハッシュ+ソルトはDBに格納され、ハッシュ関数/反復回数はわかっています)。
誰でもその方法を知っていますか?
EDIT(好ましくは、私は自分のパスワードをハッシュするリンクOWASPコードを使用することができる方法で):ここに行くための方法だろう暗号のように思えますが、暗号化はそれではないので、これは(受け入れ可能な解決であります安全)?とにかく私は高い反復回数と塩で行くだろう。
できません。パスワードがハッシュされると元のパスワードを元に戻すことはできません。それはハッシュの全体の考えです!与えられた入力*がパスワードであるかどうかを確認できますが、それを再現することはできません。 *実際のパスワードが必要な場合は、代わりに暗号化する必要がありますが、ほとんどすべての種類のセキュリティ上の問題が発生するので、どちらかといえばそれも望んでいません。 –
定義上、平文パスワードを抽出できる場合は、OWASP要件を満たしていません。ハッシングの全体のポイントはそれを防ぐことです。 – ruakh
私はコード内にプレーンな形式でパスワードを必要としますが、データベースにパスワードを安全に保存するにはどうしたらいいですか? – Alkahna