[LDAP] Modificar senha de usuário

Boa noite, galera.

Possuo uma aplicação que faz o login através de uma base LDAP. Além disso, a aplicação também permite a alteração das senhas dos usuários.
Bom, o método que criei consegue fazer a alteração das senhas, o problema é que elas ficam em plain text, e não criptografadas, como eu gostaria. Alguém sabe me dizer o que preciso modificar para conseguir isso?
Muito obrigado.

[code]public class LDAP {

public boolean updateSenha( username, newPassword ) {
    String    uid = "uid="+username;
    Hashtable env = new Hashtable();

    env.put( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" );
    env.put( Context.PROVIDER_URL,            "ldap://ldap.server.com.br:389" );
    env.put( Context.SECURITY_AUTHENTICATION, "simple" );
    env.put( Context.SECURITY_PRINCIPAL,      "cn=admin,dc=server,dc=com,dc=br" );
    env.put( Context.SECURITY_CREDENTIALS,    "teste123" );
   
    try {
        DirContext         dico = new InitialDirContext( env );
        ModificationItem[] moit = { new ModificationItem( DirContext.REPLACE_ATTRIBUTE
                                                        , new BasicAttribute( "userPassword", newPassword ) ) };

        dico.modifyAttributes( uid+",ou=Usuarios,dc=server,dc=com,dc=br", moit );
        dico.close();
        
        return true;
    } catch ( AuthenticationException ae ) {
        ae.printStackTrace();
    } catch ( NoPermissionException npe ) {
        npe.printStackTrace();
    } catch ( NamingException ne ) {
        ne.printStackTrace();
    } catch ( NullPointerException npe ) {
        npe.printStackTrace();
    } catch ( Exception e ) {
        e.printStackTrace();
    }
    
    return false;
}

}[/code]

[quote=bruno_cobra]Boa noite, galera.

Possuo uma aplicação que faz o login através de uma base LDAP. Além disso, a aplicação também permite a alteração das senhas dos usuários.
Bom, o método que criei consegue fazer a alteração das senhas, o problema é que elas ficam em plain text, e não criptografadas, como eu gostaria. Alguém sabe me dizer o que preciso modificar para conseguir isso?
Muito obrigado.

[code]public class LDAP {

public boolean updateSenha( username, newPassword ) {
    String    uid = "uid="+username;
    Hashtable env = new Hashtable();

    env.put( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" );
    env.put( Context.PROVIDER_URL,            "ldap://ldap.server.com.br:389" );
    env.put( Context.SECURITY_AUTHENTICATION, "simple" );
    env.put( Context.SECURITY_PRINCIPAL,      "cn=admin,dc=server,dc=com,dc=br" );
    env.put( Context.SECURITY_CREDENTIALS,    "teste123" );
   
    try {
        DirContext         dico = new InitialDirContext( env );
        ModificationItem[] moit = { new ModificationItem( DirContext.REPLACE_ATTRIBUTE
                                                        , new BasicAttribute( "userPassword", newPassword ) ) };

        dico.modifyAttributes( uid+",ou=Usuarios,dc=server,dc=com,dc=br", moit );
        dico.close();
        
        return true;
    } catch ( AuthenticationException ae ) {
        ae.printStackTrace();
    } catch ( NoPermissionException npe ) {
        npe.printStackTrace();
    } catch ( NamingException ne ) {
        ne.printStackTrace();
    } catch ( NullPointerException npe ) {
        npe.printStackTrace();
    } catch ( Exception e ) {
        e.printStackTrace();
    }
    
    return false;
}

}[/code][/quote]

Utilize o método abaxio para encriptar a senha


import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import com.sun.org.apache.xml.internal.security.utils.Base64;

public String hashMD5Password(String password) {
		try {
			MessageDigest digest = MessageDigest.getInstance("MD5");
			digest.update(password.getBytes("UTF8"));
			String md5Password = Base64.encode(digest.digest());
			return "{MD5}" + md5Password;
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}

Droga,agora que vi que esse post é de 2009,postei porém nem vi que o cara ressusitou LOL