Class PasswordUtils

java.lang.Object
com.xebialabs.deployit.security.PasswordUtils

public class PasswordUtils extends Object
Utils class from JCR core
  • Method Details

    • buildPasswordHash

      public static String buildPasswordHash(String password) throws NoSuchAlgorithmException, UnsupportedEncodingException
      Generates a hash of the specified password with the default values for algorithm, salt-size and number of iterations.
      Parameters:
      password - The password to be hashed.
      Returns:
      The password hash.
      Throws:
      NoSuchAlgorithmException - If DEFAULT_ALGORITHM is not supported.
      UnsupportedEncodingException - If utf-8 is not supported.
    • buildPasswordHash

      public static String buildPasswordHash(String password, String algorithm, int saltSize, int iterations) throws NoSuchAlgorithmException, UnsupportedEncodingException
      Generates a hash of the specified password using the specified algorithm, salt size and number of iterations into account.
      Parameters:
      password - The password to be hashed.
      algorithm - The desired hash algorithm.
      saltSize - The desired salt size. If the specified integer is lower that DEFAULT_SALT_SIZE the default is used.
      iterations - The desired number of iterations. If the specified integer is lower than 1 the default value is used.
      Returns:
      The password hash.
      Throws:
      NoSuchAlgorithmException - If the specified algorithm is not supported.
      UnsupportedEncodingException - If utf-8 is not supported.
    • isPlainTextPassword

      public static boolean isPlainTextPassword(String password)
      Returns true if the specified string doesn't start with a valid algorithm name in curly brackets.
      Parameters:
      password - The string to be tested.
      Returns:
      true if the specified string doesn't start with a valid algorithm name in curly brackets.
    • isSame

      public static boolean isSame(String hashedPassword, String password)
      Returns true if hash of the specified password equals the given hashed password.
      Parameters:
      hashedPassword - Password hash.
      password - The password to compare.
      Returns:
      If the hash of the specified password equals the given hashedPassword string.
    • extractAlgorithm

      public static String extractAlgorithm(String hashedPwd)
      Extract the algorithm from the given crypted password string. Returns the algorithm or null if the given string doesn't have a leading algorithm such as created by buildPasswordHash or if the extracted string doesn't represent an available algorithm.
      Parameters:
      hashedPwd - The password hash.
      Returns:
      The algorithm or null if the given string doesn't have a leading algorithm such as created by buildPasswordHash or if the extracted string isn't a supported algorithm.