Class PasswordVerifier

  • All Implemented Interfaces:
    PasswordService.AbstractVerifier

    public class PasswordVerifier
    extends java.lang.Object
    implements PasswordService.AbstractVerifier
    Password hash computation and verification class.

    This class implements the logic for comparing passwords against password hashes, or computing a new password hash for a password.

    One or more hash functions can be added, which allow you to introduce a new "preferred" hash function while maintaining support for verifying existing passwords hashes.

    • Constructor Detail

      • PasswordVerifier

        public PasswordVerifier()
        Constructor.
    • Method Detail

      • addHashFunction

        public void addHashFunction​(HashFunction function)
        Adds a hash function.

        The first hash function added is the one that will be used for creating new password hashes, i.e. the "preferred" hash function. The other hash functions are used only for verifying existing hash passwords. This allows you to move to new hash functions as other ones are no longer deemed secure.

        Each hash function has a unique name, which is annotated in the generated hash to identify the appropriate hash funtion to evaluate it.

        Ownership of the hash functions is transferred.

        See Also:
        getHashFunctions()
      • getHashFunctions

        public java.util.List<HashFunction> getHashFunctions()
        Returns the list of hash functions.

        This returns a list with references to hashfunctions that have been added with addHashFunction().