2

現在、ソルト化されハッシュ化されたパスワードを Web アプリに保存するためのライブラリを探しています。私はmindrotのjbcryptに出くわし、それが正しい選択かもしれないと思います(https://security.stackexchange.com/questions/21184/safe-to-use-jbcrypt-and-recommend-it-to-my-organizationも参照してください) . ただし、コードについて少し困惑することが 1 つあります。一般に、パスワードのハッシュ化とソルト化は、次の呼び出しによって行われます。

String hashed = BCrypt.hashpw(password, BCrypt.gensalt(12));

生成された塩を使用します。後でパスワードを確認するには、ここ(およびマインドロット ページ) で、

if (BCrypt.checkpw(candidate, hashed))

関数は、プレーン テキストの候補で呼び出されます。また、jbcryptのコーディングでは

public static boolean checkpw(String plaintext, String hashed)

ここで私の質問は、比較時にソルトを使用せずに、プレーンテキストのパスワードをソルト+ハッシュ化された文字列と比較するにはどうすればよいですか(明らかにcheckpw関数に渡されないため)?

4

0 に答える 0