Removes the use of StringUtils from DelegatingPasswordEncoder

Closes gh-16442

Signed-off-by: Christian Hösel <ChristianHoesel@users.noreply.github.com>
This commit is contained in:
Christian 2025-01-31 22:43:24 +01:00 committed by GitHub
parent 2aa2e646d4
commit b56650100a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -19,8 +19,6 @@ package org.springframework.security.crypto.password;
import java.util.HashMap;
import java.util.Map;
import org.springframework.util.StringUtils;
/**
* A password encoder that delegates to another PasswordEncoder based upon a prefixed
* identifier.
@ -297,10 +295,10 @@ public class DelegatingPasswordEncoder implements PasswordEncoder {
@Override
public boolean matches(CharSequence rawPassword, String prefixEncodedPassword) {
String id = extractId(prefixEncodedPassword);
if (StringUtils.hasText(id)) {
if (id != null && !id.isBlank()) {
throw new IllegalArgumentException(String.format(NO_PASSWORD_ENCODER_MAPPED, id));
}
if (StringUtils.hasText(prefixEncodedPassword)) {
if (prefixEncodedPassword != null && !prefixEncodedPassword.isBlank()) {
int start = prefixEncodedPassword.indexOf(DelegatingPasswordEncoder.this.idPrefix);
int end = prefixEncodedPassword.indexOf(DelegatingPasswordEncoder.this.idSuffix, start);
if (start < 0 && end < 0) {