public class DigestPasswordHasher extends java.lang.Object implements PasswordHasher
java.security.MessageDigest
mechanism for hashing passwords.
After digestifying the password it is then encoded using the
binary-to-text encoding scheme specified by the
encoding
property ("base16" by default).
This hasher does not support one-time hashing (e.g. login passwords are encoded the same way every time).
MessageDigest
,
Serialized FormModifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION |
Constructor and Description |
---|
DigestPasswordHasher() |
Modifier and Type | Method and Description |
---|---|
boolean |
checkPassword(java.lang.String pLoginPassword,
java.lang.String pEncryptedPassword,
java.lang.Object pHashKey)
Returns true if the login password matches the encrypted password.
|
java.lang.String |
encryptPassword(java.lang.String pPassword)
Encrypts a password suitable for long-term storage.
|
java.lang.String |
getAlgorithm()
Returns the name of the digestifying algorithm used by this
password hasher.
|
java.lang.String |
getEncoding()
Returns the name of the encoding scheme used to convert the encrypted
password into a string.
|
PasswordHasher |
getLoginPasswordHasher()
Returns a password hasher instance useful for performing a login.
|
java.lang.Object |
getPasswordHashKey()
Returns the hash key (if any) that was used for hashing the
password for login.
|
java.lang.String |
getPwdHasherComponentPath()
Returns the PasswordHasher component path.
|
java.lang.String |
hashPasswordForLogin(java.lang.String pPassword)
Performs the appropriate hashing function for a login process.
|
void |
setAlgorithm(java.lang.String pAlgorithm)
Changes the name of the digestifying algorithm used by this
password hasher.
|
void |
setEncoding(java.lang.String pMethod)
Changes the encoding scheme used to convert the encrypted password
into a string.
|
void |
setPwdHasherComponentPath(java.lang.String pPwdHasherComponentPath)
Sets the PasswordHasher component path used.
|
public java.lang.String getAlgorithm()
public void setAlgorithm(java.lang.String pAlgorithm)
public java.lang.String getEncoding()
BinaryToTextEncoders
public void setEncoding(java.lang.String pMethod)
BinaryToTextEncoders
public void setPwdHasherComponentPath(java.lang.String pPwdHasherComponentPath)
pPwdHasherComponentPath
- the PasswordHasher component to setpublic java.lang.String getPwdHasherComponentPath()
getPwdHasherComponentPath
in interface PasswordHasher
public java.lang.String encryptPassword(java.lang.String pPassword)
encryptPassword
in interface PasswordHasher
public boolean checkPassword(java.lang.String pLoginPassword, java.lang.String pEncryptedPassword, java.lang.Object pHashKey)
checkPassword
in interface PasswordHasher
public java.lang.String hashPasswordForLogin(java.lang.String pPassword)
hashPasswordForLogin
in interface PasswordHasher
public java.lang.Object getPasswordHashKey()
getPasswordHashKey
in interface PasswordHasher
public PasswordHasher getLoginPasswordHasher()
getLoginPasswordHasher
in interface PasswordHasher