//uma pequena parte do codigo esta aqui, resultado fica em bytes. No hashing não da para comparar bytes, nem transformar para char array e nem String, pois a senha se codifica.
try {
SecretKeyFactory skf = SecretKeyFactory.getInstance(“PBKDF2WithHmacSHA512”);
PBEKeySpec spec = new PBEKeySpec( password, salt, iterations, keyLength );
SecretKey key = skf.generateSecret( spec );
byte[] res = key.getEncoded( );
return res;
} catch( NoSuchAlgorithmException | InvalidKeySpecException e ) {
throw new RuntimeException( e );
}