public abstract class DigestCredentialHandlerBase extends Object implements CredentialHandler
CredentialHandlers.| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_SALT_LENGTH |
protected static StringManager |
sm |
| Constructor and Description |
|---|
DigestCredentialHandlerBase() |
| Modifier and Type | Method and Description |
|---|---|
abstract String |
getAlgorithm() |
protected abstract int |
getDefaultIterations() |
protected int |
getDefaultSaltLength() |
int |
getIterations() |
protected abstract Log |
getLog() |
boolean |
getLogInvalidStoredCredentials()
When checking input credentials against stored credentials will a warning
message be logged if invalid stored credentials are discovered?
|
int |
getSaltLength() |
protected boolean |
matchesSaltIterationsEncoded(String inputCredentials,
String storedCredentials)
Checks whether the provided credential matches the stored credential when
the stored credential is in the form salt$iteration-count$credential
|
String |
mutate(String userCredential)
Generates the equivalent stored credentials for the given input
credentials.
|
protected abstract String |
mutate(String inputCredentials,
byte[] salt,
int iterations)
Generates the equivalent stored credentials for the given input
credentials, salt and iterations.
|
protected String |
mutate(String inputCredentials,
byte[] salt,
int iterations,
int keyLength)
Generates the equivalent stored credentials for the given input
credentials, salt, iterations and key length.
|
abstract void |
setAlgorithm(String algorithm)
Set the algorithm used to convert input credentials to stored
credentials.
|
void |
setIterations(int iterations)
Set the number of iterations of the associated algorithm that will be
used when creating a new stored credential for a given input credential.
|
void |
setLogInvalidStoredCredentials(boolean logInvalidStoredCredentials)
Set whether a warning message will be logged if invalid stored
credentials are discovered while checking input credentials against
stored credentials?
|
void |
setSaltLength(int saltLength)
Set the salt length that will be used when creating a new stored
credential for a given input credential.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmatchesprotected static final StringManager sm
public static final int DEFAULT_SALT_LENGTH
public int getIterations()
public void setIterations(int iterations)
iterations - the iterations countpublic int getSaltLength()
public void setSaltLength(int saltLength)
saltLength - the salt lengthpublic boolean getLogInvalidStoredCredentials()
true if logging will occurpublic void setLogInvalidStoredCredentials(boolean logInvalidStoredCredentials)
logInvalidStoredCredentials - true to log, the
default value is falsepublic String mutate(String userCredential)
CredentialHandlermutate in interface CredentialHandleruserCredential - User provided credentialsprotected boolean matchesSaltIterationsEncoded(String inputCredentials, String storedCredentials)
inputCredentials - The input credentialstoredCredentials - The stored credentialtrue if they match, otherwise falseprotected int getDefaultSaltLength()
CredentialHandler.protected abstract String mutate(String inputCredentials, byte[] salt, int iterations)
inputCredentials - User provided credentialssalt - Salt, if anyiterations - Number of iterations of the algorithm associated
with this CredentialHandler applied to the
inputCredentials to generate the equivalent
stored credentialsnull if the generation failsprotected String mutate(String inputCredentials, byte[] salt, int iterations, int keyLength)
mutate(String, byte[], int). Sub-classes that use the key length
should override this method.inputCredentials - User provided credentialssalt - Salt, if anyiterations - Number of iterations of the algorithm associated
with this CredentialHandler applied to the
inputCredentials to generate the equivalent
stored credentialskeyLength - Length of the produced digest in bits for
implementations where it's applicablenull if the generation failspublic abstract void setAlgorithm(String algorithm) throws NoSuchAlgorithmException
algorithm - the algorithmNoSuchAlgorithmException - if the specified algorithm
is not supportedpublic abstract String getAlgorithm()
protected abstract int getDefaultIterations()
CredentialHandler.protected abstract Log getLog()
Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.