Class BcryptUtil
- java.lang.Object
-
- io.quarkus.elytron.security.common.BcryptUtil
-
public class BcryptUtil extends Object
Utility class used to produce bcrypt hashes using the Modular Crypt Format.
-
-
Constructor Summary
Constructors Constructor Description BcryptUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringbcryptHash(String password)Produces a Modular Crypt Format bcrypt hash of the given password, using a generated salt and 10 iterations.static StringbcryptHash(String password, int iterationCount)Produces a Modular Crypt Format bcrypt hash of the given password, using a generated salt and the specified iteration count.static StringbcryptHash(String password, int iterationCount, byte[] salt)Produces a Modular Crypt Format bcrypt hash of the given password, using the specified salt and the specified iteration count.static booleanmatches(String plainText, String passwordHash)Matches a plain text string against an existing Modular Crypt Format bcrypt hash
-
-
-
Method Detail
-
bcryptHash
public static String bcryptHash(String password)
Produces a Modular Crypt Format bcrypt hash of the given password, using a generated salt and 10 iterations.- Parameters:
password- the password to hash- Returns:
- the Modular Crypt Format bcrypt hash of the given password
- Throws:
NullPointerException- if the password is null
-
bcryptHash
public static String bcryptHash(String password, int iterationCount)
Produces a Modular Crypt Format bcrypt hash of the given password, using a generated salt and the specified iteration count.- Parameters:
password- the password to hashiterationCount- the number of iterations to use while hashing- Returns:
- the Modular Crypt Format bcrypt hash of the given password
- Throws:
NullPointerException- if the password is nullIllegalArgumentException- if the iterationCount parameter is negative or zero
-
bcryptHash
public static String bcryptHash(String password, int iterationCount, byte[] salt)
Produces a Modular Crypt Format bcrypt hash of the given password, using the specified salt and the specified iteration count.- Parameters:
password- the password to hashiterationCount- the number of iterations to use while hashingsalt- the salt to use while hashing- Returns:
- the Modular Crypt Format bcrypt hash of the given password
- Throws:
NullPointerException- if the password or salt are nullIllegalArgumentException- if the iterationCount parameter is negative or zero, or if the salt length is not equal to 16
-
matches
public static boolean matches(String plainText, String passwordHash)
Matches a plain text string against an existing Modular Crypt Format bcrypt hash- Parameters:
plainText- the plain text string to checkpasswordHash- the Modular Crypt Format bcrypt hash to compare against- Returns:
- the boolean result of whether the plain text matches the decoded Modular Crypt Format bcrypt hash
- Throws:
NullPointerException- if the plainText password or passwordHash is null
-
-