Classe de autenticação de usuário no AD

:sad: classe de autenticação de usuário no AD…

bom dia se alguem poder me ajudar estou precisando de uma classe onde autentico o usuário no AD da nossa rede… tenho alguma coisa pronta mas não estou conseguindo implementar para autenticar a senha do usuario… quando entro so com o usuário blz mas quando coloco a senha ai não vai porque preciso criptografar a senha para que ela possa ser comparada no servidor AD.

package Ldap;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;

public class ldap_login {

private LdapContext ctx;
private final String URL_LDAP = “ldap://servidor:389”;

/**
* Efetua o login do usuário
* Se login inválido, lança uma exceção do tipo AuthenticationException
*/
public boolean login(String dn, String password) throws NamingException {

  Hashtable env = new Hashtable(11);       
  env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
  env.put(Context.PROVIDER_URL, URL_LDAP); 
  env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
  env.put(Context.SECURITY_PRINCIPAL, dn); 
  env.put(Context.SECURITY_CREDENTIALS, password); 
   
  // Tenta criar o contexto com os dados de login 
  try { 
     ctx = new InitialLdapContext(env,null); 
     return true; 
   
  } catch (javax.naming.AuthenticationException e) { 
     // Login inválido 
     return false; 
  } 

}

public static void main(String[] args) {
ldap_login l = new ldap_login();
try {
if (l.login(“usuario”,“senha”)) {
System.out.println(“Login válido”);
} else {
System.out.println(“Login inválido”);
}

  } catch (NamingException n) { 
     n.printStackTrace(); 
  } 

}
}