atg.security
Interface PasswordHasher2

All Superinterfaces:
PasswordHasher, java.io.Serializable
All Known Implementing Classes:
iPlanetSSHAAccountPasswordHasher, iPlanetSSHAPasswordHasher, PasswordHasher2Adapter, SaltedDigestPasswordHasher, SaltedMD5PasswordHasher

public interface PasswordHasher2
extends PasswordHasher

A password hasher that supplies the login along with the password, which is often useful for salting. This extends PasswordHasher for backwards compatibility of various interfaces.

See Also:
SSHAPasswordHasher

Field Summary
static java.lang.String CLASS_VERSION
           
 
Method Summary
 boolean checkPassword(java.lang.String pLogin, 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 pLogin, java.lang.String pPassword)
          Encrypts a password suitably for long-term storage.
 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 hashPasswordForLogin(java.lang.String pLogin, java.lang.String pPassword)
          Performs the appropriate hashing function for a login process.
 
Methods inherited from interface atg.security.PasswordHasher
checkPassword, encryptPassword, hashPasswordForLogin
 

Field Detail

CLASS_VERSION

static final java.lang.String CLASS_VERSION
See Also:
Constant Field Values
Method Detail

getPasswordHashKey

java.lang.Object getPasswordHashKey()
Returns the hash key (if any) that was used for hashing the password for login. This must be passed to checkPassword() to verify the validity of the hash.

Specified by:
getPasswordHashKey in interface PasswordHasher

getLoginPasswordHasher

PasswordHasher getLoginPasswordHasher()
Returns a password hasher instance useful for performing a login. This instance may have a unique password hash key so that each login attempt is hashed differently.

Specified by:
getLoginPasswordHasher in interface PasswordHasher

encryptPassword

java.lang.String encryptPassword(java.lang.String pLogin,
                                 java.lang.String pPassword)
Encrypts a password suitably for long-term storage.


checkPassword

boolean checkPassword(java.lang.String pLogin,
                      java.lang.String pLoginPassword,
                      java.lang.String pEncryptedPassword,
                      java.lang.Object pHashKey)
Returns true if the login password matches the encrypted password.


hashPasswordForLogin

java.lang.String hashPasswordForLogin(java.lang.String pLogin,
                                      java.lang.String pPassword)
Performs the appropriate hashing function for a login process. This value will later be passed to checkPassword().