Package io.vertx.reactivex.ext.auth.hashing

## Class HashingStrategy

- java.lang.Object
- - io.vertx.reactivex.ext.auth.hashing.HashingStrategy

- All Implemented Interfaces:
    `io.vertx.lang.rx.RxDelegate`

      public class HashingStrategy
      extends Object
      implements io.vertx.lang.rx.RxDelegate

  Hashing Strategy manager.

  This class will load system provided hashing strategies and algorithms.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<HashingStrategy>` | `__TYPE_ARG` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HashingStrategy​(HashingStrategy delegate)` |
    `HashingStrategy​(Object delegate)` |

  - ### Method Summary

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

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<HashingStrategy> __TYPE_ARG

  - ### Constructor Detail

    - #### HashingStrategy

          public HashingStrategy​(HashingStrategy delegate)

    - #### HashingStrategy

          public HashingStrategy​(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public HashingStrategy getDelegate()

      Specified by:
        `getDelegate` in interface `io.vertx.lang.rx.RxDelegate`

    - #### load

          public static HashingStrategy load()

      Factory method to load the algorithms from the system
      Returns:
        a Hashing Strategy capable of hashing using the available algorithms

    - #### hash

          public 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

          public 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

          public HashingAlgorithm get​(String id)

      Get an algorithm interface by its Id
      Parameters:
        `id` - the algorithm id
      Returns:
        the algorithm

    - #### put

          public 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

    - #### newInstance

          public static HashingStrategy newInstance​(HashingStrategy arg)