org.apache.archiva.redback.policy.PasswordEncoder |
![]() |
Interface for performing authentication operations on a password.
Javadoc about encoding and salts copied from Acegi Security.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Encodes the specified raw password with an implementation specific algorithm, using user specific salt. | |||||||||||
Encodes the specified raw password with an implementation specific algorithm, using the system wide salt. | |||||||||||
Validates a specified "raw" password against an encoded password, using the system wide salt. | |||||||||||
Validates a specified "raw" password against an encoded password, using a user specific salt. | |||||||||||
Sets the system wide salt to use in the encoder. |
Encodes the specified raw password with an implementation specific algorithm, using user specific salt.
This will generally be a one-way message digest such as MD5 or SHA, but may also be a plaintext variant which does no encoding at all, but rather returns the same password it was fed. The latter is useful to plug in when the original password must be stored as-is.
The specified salt will potentially be used by the implementation to "salt" the initial value before encoding. A salt is usually a user-specific value which is added to the password before the digest is computed. This means that computation of digests for common dictionary words will be different than those in the backend store, because the dictionary word digests will not reflect the addition of the salt. If a per-user salt is used (rather than a system-wide salt), it also means users with the same password will have different digest encoded passwords in the backend store.
rawPass | the password to encode |
---|---|
salt | optionally used by the implementation to "salt" the raw password before encoding.
A null value is legal. |
Encodes the specified raw password with an implementation specific algorithm, using the system wide salt.
This will generally be a one-way message digest such as MD5 or SHA, but may also be a plaintext variant which does no encoding at all, but rather returns the same password it was fed. The latter is useful to plug in when the original password must be stored as-is.
rawPass | the password to encode |
---|
Validates a specified "raw" password against an encoded password, using the system wide salt.
The encoded password should have previously been generated by encodePassword(String)
.
This method will encode the rawPass
(using the system wide salt
), and then
compared it with the presented encPass
.
For an explanation of salts, please refer to setSystemSalt(Object)
.
encPass | a pre-encoded password |
---|---|
rawPass | a raw password to encode and compare against the pre-encoded password |
Validates a specified "raw" password against an encoded password, using a user specific salt.
The encoded password should have previously been generated by encodePassword(String, Object)
. This method will encode the rawPass
(using the optional salt
), and then
compared it with the presented encPass
.
For a discussion of salts, please refer to encodePassword(String, Object)
.
encPass | a pre-encoded password |
---|---|
rawPass | a raw password to encode and compare against the pre-encoded password |
salt | optionally used by the implementation to "salt" the raw password before encoding. A
null value is legal. |
Sets the system wide salt to use in the encoder.
The specified salt will potentially be used by the implementation to "salt" the initial value before encoding. A salt is usually a user-specific value which is added to the password before the digest is computed. This means that computation of digests for common dictionary words will be different than those in the backend store, because the dictionary word digests will not reflect the addition of the salt. If a per-user salt is used (rather than a system-wide salt), it also means users with the same password will have different digest encoded passwords in the backend store.
salt | the salt to use as a default for the encoder. |
---|