Skip to content

Commit

Permalink
BCryptPasswordEncoder rawPassword cannot be null
Browse files Browse the repository at this point in the history
Closes gh-8317
  • Loading branch information
alan-czajkowski authored and rwinch committed Apr 7, 2020
1 parent fd2798c commit 62bc17e
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ public BCryptPasswordEncoder(int strength, SecureRandom random) {
}

public String encode(CharSequence rawPassword) {
if (rawPassword == null) {
throw new IllegalArgumentException("rawPassword cannot be null");
}

String salt;
if (strength > 0) {
if (random != null) {
Expand All @@ -81,6 +85,10 @@ public String encode(CharSequence rawPassword) {
}

public boolean matches(CharSequence rawPassword, String encodedPassword) {
if (rawPassword == null) {
throw new IllegalArgumentException("rawPassword cannot be null");
}

if (encodedPassword == null || encodedPassword.length() == 0) {
logger.warn("Empty encoded password");
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,15 @@ public void doesntMatchBogusEncodedValue() {
assertThat(encoder.matches("password", "012345678901234567890123456789")).isFalse();
}

@Test(expected = IllegalArgumentException.class)
public void encodeNullRawPassword() {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
encoder.encode(null);
}

@Test(expected = IllegalArgumentException.class)
public void matchNullRawPassword() {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
encoder.matches(null, "does-not-matter");
}
}

0 comments on commit 62bc17e

Please sign in to comment.