El javadoc de bCrypt tiene este código para encriptar una contraseña:
String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt());
Para verificar si una contraseña de texto sin formato coincide con una que se ha cifrado previamente, use el método checkpw:
if (BCrypt.checkpw(candidate_password, stored_hash))
System.out.println("It matches");
else
System.out.println("It does not match");
Estos fragmentos de código implican para mí que la sal generada al azar se tira a la basura. ¿Es este el caso, o es solo un fragmento de código engañoso?