0
ユーザーがアプリケーションにログインするとき、データベースのハッシュ値と比較するためにパスワードのテキストバージョンが必要です。しかし、私は本当に苦労しています。BCryptを使用したSQLiteデータベースからユーザー入力へのハッシュされたパスワードの比較
誰でも手伝ってもらえますか?
public void onButtonClick(View v)
{
if (v.getId() == R.id.Blogin) {
EditText a = (EditText) findViewById(R.id.TFusername);
String str = a.getText().toString();
EditText b = (EditText) findViewById(R.id.TFpassword);
String pass = b.getText().toString();
String login = helper.searchPass(str);
**// if username is = to the password in the database
if (pass.equals(login)
//method to check password hashes
// BCrypt.checkpw(*user input plain text*, *previous hash from db*
&& BCrypt.checkpw(//i dont know what to put here)) {**
Intent i = new Intent(MainActivity.this, RegForensics.class);
i.putExtra("Username", str);
startActivity(i);
Login l = new Login();
l.setUserlog(str);
helper.insertLogin(l);
} else {
Toast temp = Toast.makeText(MainActivity.this, "Username and password don't match!", Toast.LENGTH_SHORT);
temp.show();
}
私はそれを理解していますが、私は何をそこに置くべきか分かりません。私はそれがBCrypt.checkpw(パス、**)する必要があることを知っているが、私はどのように対応するハッシュパスワードをプルするかを把握することはできません。 –