Skip to content

Commit 4dd30a7

Browse files
committed
gh-18234: Create SHA-1 MessageDigest for every new check request
Signed-off-by: Garvit Joshi <[email protected]>
1 parent 9126aaf commit 4dd30a7

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

web/src/main/java/org/springframework/security/web/authentication/password/HaveIBeenPwnedRestApiPasswordChecker.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,18 @@ public final class HaveIBeenPwnedRestApiPasswordChecker implements CompromisedPa
5252

5353
private final Log logger = LogFactory.getLog(getClass());
5454

55-
private final MessageDigest sha1Digest;
56-
5755
private RestClient restClient = RestClient.builder().baseUrl(API_URL).build();
5856

5957
public HaveIBeenPwnedRestApiPasswordChecker() {
60-
this.sha1Digest = getSha1Digest();
6158
}
6259

6360
@Override
6461
public CompromisedPasswordDecision check(@Nullable String password) {
6562
if (password == null) {
6663
return new CompromisedPasswordDecision(false);
6764
}
68-
byte[] hash = this.sha1Digest.digest(password.getBytes(StandardCharsets.UTF_8));
65+
MessageDigest sha1Digest = getSha1Digest();
66+
byte[] hash = sha1Digest.digest(password.getBytes(StandardCharsets.UTF_8));
6967
String encoded = new String(Hex.encode(hash)).toUpperCase(Locale.ROOT);
7068
String prefix = encoded.substring(0, PREFIX_LENGTH);
7169
String suffix = encoded.substring(PREFIX_LENGTH);

0 commit comments

Comments
 (0)