Spring security+MD5

Olá tudo bem?

Bom estou tentando implementar MD5 na minha aplicação, eu tenho codigo que faz isso para mim:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.rpctv.siseng.etc;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 *
 * @author ricardo
 */
public class Criptografia {

    public static String md5(String senha) {
        String sen = "";
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        BigInteger hash = new BigInteger(1, md.digest(senha.getBytes()));
        sen = hash.toString(16);
        return sen;
    }
}

ai para mim criptografar a informação no banco eu coloquei na entidade usuario no set password:

 public void setSenha(String senha) {
        this.senha = Criptografia.md5(senha);
    }

entao quando for salvar no banco ja vai criptografado, e esta funcionando perfeitamente.
O problema é quando vou tentar logar com esse usuario com a senha criptografada, entao pesquisei e adicionei essa linha no meu applicationContext.xml:

<password-encoder hash="md5" /> 

Deveria funcionar, ja que a senha no banco estra criptografada e o srping Security esta habilitado a ler MD5.
Não consigo logar, ele nao consegue comprarar as senhas criptografadas, falta algo a adicionar ainda?

Minha resposta não vai te ajudar muito, mas tive o mesmo problema.
Me parece que o hash gerado pelo messageDigest é diferente do gerado pelo md5 habilitado no SpringSecurity (que, coincidentemente, é o mesmo da função md5() do MySQL).
Ainda estou atrás de uma solução.
Por enquanto, o jeito é fazer o hash no banco mesmo.

Mais eu estou usando o banco de dados oracle, tem alguem diferença?

usar MD5 para criptografar senha ultrapassado isso hein!!
a não ser que é só para aprender ou não é nada importante

então com relação a isso não tive problema
o spring mesmo já possui uma classe para fazer esse trabalho
uso ela e não tenho problema algum.

Poderia me dizer qual classe é essa para mim tambem usar?