io.vertx.ext.auth

## Interface HashingStrategy

-     public interface HashingStrategy

  Hashing Strategy manager. This class will load system provided hashing strategies and algorithms.
  Author:
    Paulo Lopes

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `HashingAlgorithm` | `get(String id)` Get an algorithm interface by its Id
    `String` | `hash(String id, Map<String,String> params, String salt, String password)` Hashes a password.
    `static HashingStrategy` | `load()` Factory method to load the algorithms from the system
    `HashingStrategy` | `put(String id, HashingAlgorithm algorithm)` Put or replace an algorithm into the list of system loaded algorithms.
    `boolean` | `verify(String hash, String password)` Time constant password check.

- - ### 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

Copyright © 2023 Eclipse. All rights reserved.