### Question:
BrokenBcryptKeyStretcher implements KeyStretchingFunction { private static byte[] bcrypt(char[] password, byte[] salt, int logRounds) { StrictMode.noteSlowCall("bcrypt is a very expensive call and should not be done on the main thread"); return BCrypt.with(CUSTOM_LEGACY_VERSION, new SecureRandom(), rawPassword -> Bytes.wrapNullSafe(rawPassword).copy().array()).hash(logRounds, createLegacySalt(salt), createLegacyPassword(password, salt)); } BrokenBcryptKeyStretcher();  BrokenBcryptKeyStretcher(int log2Rounds); @Override byte[] stretch(byte[] salt, char[] password, int outLengthByte);  }### Answer:
@Test public void testBcrypt() { for (int i = 4; i < 10; i++) { compareLegacyFallbackImpl(i, 8, 8); compareLegacyFallbackImpl(i, 16, 16); compareLegacyFallbackImpl(i, 32, 16); compareLegacyFallbackImpl(i, 32, 32); compareLegacyFallbackImpl(i, 64, 32); compareLegacyFallbackImpl(i, 64, 64); compareLegacyFallbackImpl(i, 128, 128); compareLegacyFallbackImpl(i, 4, 128); compareLegacyFallbackImpl(i, 128, 4); compareLegacyFallbackImpl(i, 64, 16); } }