diff --git a/blade-kit/src/test/java/com/hellokaton/blade/kit/BCryptTest.java b/blade-kit/src/test/java/com/hellokaton/blade/kit/BCryptTest.java index f9e441b9..5c11ea84 100644 --- a/blade-kit/src/test/java/com/hellokaton/blade/kit/BCryptTest.java +++ b/blade-kit/src/test/java/com/hellokaton/blade/kit/BCryptTest.java @@ -174,4 +174,17 @@ public void testInternationalChars() { System.out.println(""); } + /** + * Test for correct handling of corrupted hashes + * expecting failure + */ + @Test + public void testCheckpw_failure_modifiedAndTruncatedHash() { + String plain = test_vectors[0][0]; + String expected = test_vectors[0][2]; + String corruptedHash = expected.substring(0, 15) + "Q" + expected.substring(15); + String truncatedHash = expected.substring(0, expected.length() - 5); + Assert.assertFalse(BCrypt.checkpw(plain, corruptedHash)); + Assert.assertFalse(BCrypt.checkpw(plain, truncatedHash)); + } } \ No newline at end of file