https://mvnrepository.com/artifact/org.springframework.security/spring-security-crypto
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import org.springframework.security.crypto.bcrypt.BCrypt;
public class BCryptTest {
public static void main(String[] ar) {
BCryptTest bcTest = new BCryptTest();
String hashed = bcTest.generateHash("test");
boolean verify = bcTest.verifyHash("test", hashed);
System.out.println(hashed);
System.out.println(verify);
}
/*
* generate BCrypt hash
*/
public String generateHash(String plainText) {
try {
String salt = BCrypt.gensalt(10, SecureRandom.getInstance("SHA1PRNG"));
return BCrypt.hashpw(plainText, salt);
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/*
* BCrypt check
*/
public boolean verifyHash(String plainText, String cipher) {
return BCrypt.checkpw(plainText, cipher);
}
}