Interface SaltedSimpleDigestPassword

All Superinterfaces:
Cloneable, Key, OneWayPassword, Password, Serializable

public interface SaltedSimpleDigestPassword extends OneWayPassword
A simple password where the generated digest also includes a salt.
Author:
Darran Lofthouse
  • Field Details

    • ALGORITHM_PASSWORD_SALT_DIGEST_MD5

      static final String ALGORITHM_PASSWORD_SALT_DIGEST_MD5
      Algorithm name for digest created using MD5 with the password digested first followed by the salt.
      See Also:
    • ALGORITHM_PASSWORD_SALT_DIGEST_SHA_1

      static final String ALGORITHM_PASSWORD_SALT_DIGEST_SHA_1
      Algorithm name for digest created using SHA-1 with the password digested first followed by the salt.
      See Also:
    • ALGORITHM_PASSWORD_SALT_DIGEST_SHA_256

      static final String ALGORITHM_PASSWORD_SALT_DIGEST_SHA_256
      Algorithm name for digest created using SHA-256 with the password digested first followed by the salt.
      See Also:
    • ALGORITHM_PASSWORD_SALT_DIGEST_SHA_384

      static final String ALGORITHM_PASSWORD_SALT_DIGEST_SHA_384
      Algorithm name for digest created using SHA-384 with the password digested first followed by the salt.
      See Also:
    • ALGORITHM_PASSWORD_SALT_DIGEST_SHA_512

      static final String ALGORITHM_PASSWORD_SALT_DIGEST_SHA_512
      Algorithm name for digest created using SHA-512 with the password digested first followed by the salt.
      See Also:
    • ALGORITHM_SALT_PASSWORD_DIGEST_MD5

      static final String ALGORITHM_SALT_PASSWORD_DIGEST_MD5
      Algorithm name for digest created using MD5 with the salt digested first followed by the password.
      See Also:
    • ALGORITHM_SALT_PASSWORD_DIGEST_SHA_1

      static final String ALGORITHM_SALT_PASSWORD_DIGEST_SHA_1
      Algorithm name for digest created using SHA-1 with the salt digested first followed by the password.
      See Also:
    • ALGORITHM_SALT_PASSWORD_DIGEST_SHA_256

      static final String ALGORITHM_SALT_PASSWORD_DIGEST_SHA_256
      Algorithm name for digest created using SHA-256 with the salt digested first followed by the password.
      See Also:
    • ALGORITHM_SALT_PASSWORD_DIGEST_SHA_384

      static final String ALGORITHM_SALT_PASSWORD_DIGEST_SHA_384
      Algorithm name for digest created using SHA-384 with the salt digested first followed by the password.
      See Also:
    • ALGORITHM_SALT_PASSWORD_DIGEST_SHA_512

      static final String ALGORITHM_SALT_PASSWORD_DIGEST_SHA_512
      Algorithm name for digest created using SHA-512 with the salt digested first followed by the password.
      See Also:
    • DEFAULT_SALT_SIZE

      static final int DEFAULT_SALT_SIZE
      The default salt size (in bytes), used when generating a random salt.
      See Also:
  • Method Details

    • getDigest

      byte[] getDigest()
      Get the digest represented by this password.
      Returns:
      the digest represented by this password
    • getSalt

      byte[] getSalt()
      Get the salt used to generate the digest.
      Returns:
      the salt used to generate the digest
    • getParameterSpec

      default SaltedPasswordAlgorithmSpec 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
    • clone

      Creates and returns a copy of this Password.
      Specified by:
      clone in interface OneWayPassword
      Specified by:
      clone in interface Password
      Returns:
      a copy of this Password.
    • createRaw

      static SaltedSimpleDigestPassword createRaw(String algorithm, byte[] digest, byte[] salt)
      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
      digest - the digest
      salt - the salt
      Returns:
      the raw password implementation