Interface HashingStrategy


  • public interface HashingStrategy
    Hashing Strategy manager.

    This class will load system provided hashing strategies and algorithms.

    Author:
    Paulo Lopes
    • Method Detail

      • load

        static HashingStrategy load()
        Factory method to load the algorithms from the system
        Returns:
        a Hashing Strategy capable of hashing using the available algorithms
      • hash

        String hash​(String id,
                    Map<String,​String> params,
                    String salt,
                    String password)
        Hashes a password.
        Parameters:
        id - the algorithm id
        params - the algorithm specific parameters
        salt - the given salt
        password - the given password
        Returns:
        the hashed string
      • verify

        boolean verify​(String hash,
                       String password)
        Time constant password check. Regardless of the check, this algorithm executes the same number of checks regardless of the correctly number of characters
        Parameters:
        hash - the hash to verify
        password - the password to test against
        Returns:
        boolean
      • get

        HashingAlgorithm get​(String id)
        Get an algorithm interface by its Id
        Parameters:
        id - the algorithm id
        Returns:
        the algorithm
      • put

        HashingStrategy put​(String id,
                            HashingAlgorithm algorithm)
        Put or replace an algorithm into the list of system loaded algorithms.
        Parameters:
        id - the algorithm id
        algorithm - the implementation
        Returns:
        self