Class OpenBSDBCrypt
- java.lang.Object
-
- org.bouncycastle.crypto.generators.OpenBSDBCrypt
-
public class OpenBSDBCrypt extends java.lang.Object
Password hashing scheme BCrypt, designed by Niels Provos and David Mazières, using the String format and the Base64 encoding of the reference implementation on OpenBSD
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
checkPassword(java.lang.String bcryptString, byte[] password)
Checks if a password corresponds to a 60 character Bcrypt Stringstatic boolean
checkPassword(java.lang.String bcryptString, char[] password)
Checks if a password corresponds to a 60 character Bcrypt Stringstatic java.lang.String
generate(byte[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$' using version '2y'.static java.lang.String
generate(char[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$' using version '2y'.static java.lang.String
generate(java.lang.String version, byte[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$'static java.lang.String
generate(java.lang.String version, char[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$'
-
-
-
Method Detail
-
generate
public static java.lang.String generate(char[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$' using version '2y'.- Parameters:
cost
- the cost factor, treated as an exponent of 2salt
- a 16 byte saltpassword
- the password- Returns:
- a 60 character Bcrypt String
-
generate
public static java.lang.String generate(byte[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$' using version '2y'.- Parameters:
cost
- the cost factor, treated as an exponent of 2salt
- a 16 byte saltpassword
- the password- Returns:
- a 60 character Bcrypt String
-
generate
public static java.lang.String generate(java.lang.String version, char[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$'- Parameters:
version
- the version, may be 2b, 2y or 2a. (2a is not backwards compatible.)cost
- the cost factor, treated as an exponent of 2salt
- a 16 byte saltpassword
- the password- Returns:
- a 60 character Bcrypt String
-
generate
public static java.lang.String generate(java.lang.String version, byte[] password, byte[] salt, int cost)
Creates a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$'- Parameters:
version
- the version, may be 2b, 2y or 2a. (2a is not backwards compatible.)cost
- the cost factor, treated as an exponent of 2salt
- a 16 byte saltpassword
- the password already encoded as a byte array.- Returns:
- a 60 character Bcrypt String
-
checkPassword
public static boolean checkPassword(java.lang.String bcryptString, char[] password)
Checks if a password corresponds to a 60 character Bcrypt String- Parameters:
bcryptString
- a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$'password
- the password as an array of chars- Returns:
- true if the password corresponds to the Bcrypt String, otherwise false
-
checkPassword
public static boolean checkPassword(java.lang.String bcryptString, byte[] password)
Checks if a password corresponds to a 60 character Bcrypt String- Parameters:
bcryptString
- a 60 character Bcrypt String, including version, cost factor, salt and hash, separated by '$'password
- the password as an array of bytes- Returns:
- true if the password corresponds to the Bcrypt String, otherwise false
-
-