Interface BCryptPassword

    • Field Detail

      • BCRYPT_SALT_SIZE

        static final int BCRYPT_SALT_SIZE
        A constant representing the bcrypt salt size, in bytes.
        See Also:
        Constant Field Values
      • BCRYPT_HASH_SIZE

        static final int BCRYPT_HASH_SIZE
        A constant representing the bcrypt hash size, in bytes.
        See Also:
        Constant Field Values
      • DEFAULT_ITERATION_COUNT

        static final int DEFAULT_ITERATION_COUNT
        A constant representing the default iteration count for bcrypt passwords.
        See Also:
        Constant Field Values
    • Method Detail

      • getHash

        byte[] getHash()
        Get the hash segment of this password.
        Returns:
        the hash segment
      • getSalt

        byte[] getSalt()
        Get the salt segment of this password.
        Returns:
        the salt segment
      • getIterationCount

        int getIterationCount()
        Get the iteration count of this password.
        Returns:
        the iteration count
      • getParameterSpec

        default IteratedSaltedPasswordAlgorithmSpec getParameterSpec()
        Description copied from interface: Password
        Get the applicable algorithm parameter specification for this password type.
        Specified by:
        getParameterSpec in interface Password
        Returns:
        the algorithm parameter specification, or null if this password type does not support algorithms
      • impliesParameters

        default boolean impliesParameters​(AlgorithmParameterSpec parameterSpec)
        Description copied from interface: Password
        Determine if this password is matched by the given parameter specification.
        Specified by:
        impliesParameters in interface Password
        Parameters:
        parameterSpec - the parameter specification (must not be null)
        Returns:
        true if the password is matched by the parameters, false otherwise
      • createRaw

        static BCryptPassword createRaw​(String algorithm,
                                        byte[] hash,
                                        byte[] salt,
                                        int iterationCount)
        Create a raw implementation of this password type. No validation of the content is performed, and the password must be "adopted" in to a PasswordFactory (via the PasswordFactory.translate(Password) method) before it can be validated and used to verify guesses.
        Parameters:
        algorithm - the algorithm name
        hash - the hash
        salt - the salt
        iterationCount - the iteration count
        Returns:
        the raw password implementation