diff --git a/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiPasswordChecker.java b/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiPasswordChecker.java index 8784f8e900..cd892c8d96 100644 --- a/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiPasswordChecker.java +++ b/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiPasswordChecker.java @@ -52,20 +52,14 @@ public final class HaveIBeenPwnedRestApiPasswordChecker implements CompromisedPa private final Log logger = LogFactory.getLog(getClass()); - private final MessageDigest sha1Digest; - private RestClient restClient = RestClient.builder().baseUrl(API_URL).build(); - public HaveIBeenPwnedRestApiPasswordChecker() { - this.sha1Digest = getSha1Digest(); - } - @Override public CompromisedPasswordDecision check(@Nullable String password) { if (password == null) { return new CompromisedPasswordDecision(false); } - byte[] hash = this.sha1Digest.digest(password.getBytes(StandardCharsets.UTF_8)); + byte[] hash = getSha1Digest().digest(password.getBytes(StandardCharsets.UTF_8)); String encoded = new String(Hex.encode(hash)).toUpperCase(Locale.ROOT); String prefix = encoded.substring(0, PREFIX_LENGTH); String suffix = encoded.substring(PREFIX_LENGTH); diff --git a/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiReactivePasswordChecker.java b/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiReactivePasswordChecker.java index 8bd5dacdb1..d3e7b1d53d 100644 --- a/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiReactivePasswordChecker.java +++ b/web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiReactivePasswordChecker.java @@ -55,12 +55,6 @@ public class HaveIBeenPwnedRestApiReactivePasswordChecker implements ReactiveCom private WebClient webClient = WebClient.builder().baseUrl(API_URL).build(); - private final MessageDigest sha1Digest; - - public HaveIBeenPwnedRestApiReactivePasswordChecker() { - this.sha1Digest = getSha1Digest(); - } - @Override public Mono check(@Nullable String password) { return getHash(password).map((hash) -> new String(Hex.encode(hash))) @@ -98,7 +92,7 @@ public class HaveIBeenPwnedRestApiReactivePasswordChecker implements ReactiveCom private Mono getHash(@Nullable String rawPassword) { return Mono.justOrEmpty(rawPassword) - .map((password) -> this.sha1Digest.digest(password.getBytes(StandardCharsets.UTF_8))) + .map((password) -> getSha1Digest().digest(password.getBytes(StandardCharsets.UTF_8))) .subscribeOn(Schedulers.boundedElastic()) .publishOn(Schedulers.parallel()); }