3

サーバーに送信する前にMD5を使用してログインの詳細をハッシュするプログラムを作成していますが、データベースから取得したblowfish(jBCrypt)ハッシュパスワードと比較する必要があります。

jBCryptは以下を使用します:

if (BCrypt.checkpw("candidatePassword", hashedPwd)) {
// they are the same
}

問題は、テストする候補のパスワードがないことです。ログイン情報の安全な送信とデータベースへのこれらの詳細の安全な保存の両方を行うにはどうすればよいですか。これに取り組むための最良の方法は何ですか?

ユーザー名、タイムスタンプ、ランダムバイト、およびパスワードを使用して、md5ダイジェスト値を作成します。

ありがとう、ウラジミール

4

2 に答える 2

4

ハッシュが2つしかない場合、1にすることはできません。ハッシュは一方向になるように設計されています。ハッシュから元のデータを復元することはできません。そのため、ハッシュされたパスワードを保存する方が、暗号化されたパスワードを保存するよりも安全であると見なされます。

したがって、ハッシュに対してデータを検証する唯一の方法は、データをハッシュして、結果が一致するかどうかを確認することです。


1もちろん、「ブルートフォースを使用しない限り...」などの言葉、実際には意味がありません。これらのアルゴリズムの背後にある理論は、「合理的に」安全であることを証明していますが、理論実践の違いを常に覚えておく必要があります。:理論的には、違いはありません。

于 2010-01-13T01:19:49.120 に答える