Javadoc bCrypt имеет этот код для того, как зашифровать пароль:
String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt());
Чтобы проверить, совпадает ли открытый текстовый пароль с ранее хешированным, используйте метод checkpw:
if (BCrypt.checkpw(candidate_password, stored_hash))
System.out.println("It matches");
else
System.out.println("It does not match");
Эти фрагменты кода подразумевают, что случайно сгенерированная соль выбрасывается. Это так, или это просто вводящий в заблуждение фрагмент кода?