Class PasswordSecret

All Implemented Interfaces:
Cloneable

public class PasswordSecret extends SharedSecret
A secret password used for authentication.
  • Field Details

    • MIN_GOOD_PASSWORD_LENGTH

      public static final int MIN_GOOD_PASSWORD_LENGTH
      Password length weakness threshold.
      See Also:
    • PREFIX

      public static final String PREFIX
      Prefix used to encode secret type as strings.
      See Also:
    • password

      protected String password
      The password.
  • Constructor Details

    • PasswordSecret

      public PasswordSecret()
      Creates the secret.
    • PasswordSecret

      public PasswordSecret(String encodedpassword)
      Creates the secret.
    • PasswordSecret

      public PasswordSecret(String password, boolean encoded)
      Creates the secret.
  • Method Details

    • getPassword

      public String getPassword()
      Gets the password.
      Returns:
      The password.
    • setPassword

      public void setPassword(String password)
      Sets the password.
      Parameters:
      password - The password.
    • getKdfParams

      public byte[] getKdfParams()
      Gets the key derivation parameters.
      Returns:
      Key derivation parameters.
    • deriveKey

      public byte[] deriveKey(int keysize, byte[] salt)
      Derives a key from the password with appropriate hardening.
      Specified by:
      deriveKey in class SharedSecret
      Parameters:
      keysize - The target key size in bytes to generate.
      salt - Salt to use.
      Returns:
      Derived key.
    • deriveKey

      public byte[] deriveKey(int keysize, byte[] salt, byte[] dfparams)
      Derives a key from the password with appropriate hardening.
      Parameters:
      keysize - The target key size in bytes to generate.
      salt - Salt to use.
      dfparams - Key derivation parameters.
      Returns:
      Derived key.
    • isWeak

      public boolean isWeak()
      Returns if the password is weak.
      Returns:
      True, if weak.
    • toString

      public String toString()
      Creates encoded secret.
      Overrides:
      toString in class Object
      Returns:
      Encoded secret.