Package io.aether.utils
Class BCrypt
- java.lang.Object
-
- io.aether.utils.BCrypt
-
public class BCrypt extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description BCrypt()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static booleancheckpw(java.lang.String plaintext, java.lang.String hashed)Check that a plaintext password matches a previously hashed onebyte[]crypt_raw(byte[] password, byte[] salt, int log_rounds, int[] cdata)Perform the central password hashing step in the bcrypt schemestatic java.lang.Stringgensalt()Generate a salt for use with the BCrypt.hashpw() method, selecting a reasonable default for the number of hashing rounds to applystatic java.lang.Stringgensalt(int log_rounds)Generate a salt for use with the BCrypt.hashpw() methodstatic java.lang.Stringgensalt(int log_rounds, java.security.SecureRandom random)Generate a salt for use with the BCrypt.hashpw() methodstatic java.lang.Stringhashpw(java.lang.CharSequence password, java.lang.CharSequence salt)Hash a password using the OpenBSD bcrypt schemestatic java.lang.Stringhashpw(java.lang.CharSequence password, java.lang.CharSequence salt, java.io.ByteArrayOutputStream temp, java.lang.StringBuilder temp2)
-
-
-
Method Detail
-
hashpw
public static java.lang.String hashpw(java.lang.CharSequence password, java.lang.CharSequence salt)Hash a password using the OpenBSD bcrypt scheme- Parameters:
password- the password to hashsalt- the salt to hash with (perhaps generated using BCrypt.gensalt)- Returns:
- the hashed password
-
hashpw
public static java.lang.String hashpw(java.lang.CharSequence password, java.lang.CharSequence salt, java.io.ByteArrayOutputStream temp, java.lang.StringBuilder temp2)
-
gensalt
public static java.lang.String gensalt(int log_rounds, java.security.SecureRandom random)Generate a salt for use with the BCrypt.hashpw() method- Parameters:
log_rounds- the log2 of the number of rounds of hashing to apply - the work factor therefore increases as 2**log_rounds.random- an instance of SecureRandom to use- Returns:
- an encoded salt value
-
gensalt
public static java.lang.String gensalt(int log_rounds)
Generate a salt for use with the BCrypt.hashpw() method- Parameters:
log_rounds- the log2 of the number of rounds of hashing to apply - the work factor therefore increases as 2**log_rounds.- Returns:
- an encoded salt value
-
gensalt
public static java.lang.String gensalt()
Generate a salt for use with the BCrypt.hashpw() method, selecting a reasonable default for the number of hashing rounds to apply- Returns:
- an encoded salt value
-
checkpw
public static boolean checkpw(java.lang.String plaintext, java.lang.String hashed)Check that a plaintext password matches a previously hashed one- Parameters:
plaintext- the plaintext password to verifyhashed- the previously-hashed password- Returns:
- true if the passwords match, false otherwise
-
crypt_raw
public byte[] crypt_raw(byte[] password, byte[] salt, int log_rounds, int[] cdata)Perform the central password hashing step in the bcrypt scheme- Parameters:
password- the password to hashsalt- the binary salt to hash with the passwordlog_rounds- the binary logarithm of the number of rounds of hashing to applycdata- the plaintext to encrypt- Returns:
- an array containing the binary hashed password
-
-