Class RFC2307SHAPasswordEncryptor

java.lang.Object
org.jasypt.util.password.rfc2307.RFC2307SHAPasswordEncryptor
All Implemented Interfaces:
PasswordEncryptor

public final class RFC2307SHAPasswordEncryptor extends Object implements PasswordEncryptor

Utility class for easily performing password digesting and checking according to {SHA}, a password encryption scheme defined in RFC2307 and commonly found in LDAP systems.

This class internally holds a StandardStringDigester configured this way:

  • Algorithm: SHA-1.
  • Salt size: 0 bytes (no salt).
  • Iterations: 1 (no hash iteration).
  • Prefix: {SHA}.

This class is thread-safe

Since:
1.7
  • Field Details

  • Constructor Details

    • RFC2307SHAPasswordEncryptor

      public RFC2307SHAPasswordEncryptor()
      Creates a new instance of RFC2307SHAPasswordEncryptor
  • Method Details

    • setStringOutputType

      public void setStringOutputType(String stringOutputType)

      Sets the the form in which String output will be encoded. Available encoding types are:

      • base64 (default)
      • hexadecimal
      Parameters:
      stringOutputType - the string output type.
    • encryptPassword

      public String encryptPassword(String password)
      Encrypts (digests) a password.
      Specified by:
      encryptPassword in interface PasswordEncryptor
      Parameters:
      password - the password to be encrypted.
      Returns:
      the resulting digest.
      See Also:
    • checkPassword

      public boolean checkPassword(String plainPassword, String encryptedPassword)
      Checks an unencrypted (plain) password against an encrypted one (a digest) to see if they match.
      Specified by:
      checkPassword in interface PasswordEncryptor
      Parameters:
      plainPassword - the plain password to check.
      encryptedPassword - the digest against which to check the password.
      Returns:
      true if passwords match, false if not.
      See Also: