Usar MD5 na Web

Pessoal tem como eu utilizar MD5 em uma aplicação Java para a Web? É mais viável eu fazer esse processo em um servlet ou no próprio JSP mesmo?

e por que não poderia ?
:slight_smile:

Pelo livro sagrado do MVC o correto seria fazer isso na servlet e mostrar o resultado no jsp (ou qualquer outra forma de view)

pode parecer alarmismo, mas eu te recomendaria o SHA-1 (ou outro da familia SHA-n) no lugar do MD5…

Se não fosse pedir demais teria um exemplo ou API para eu pesquisar a forma de utilização.

import java.security.*;

public class PasswordMD5 {
        /** Exemplo */
	public static void main(String[] args) {
		try {
		    String password = PasswordMD5.toPassword ("NicoleKidman"); // a senha cadastrada
		    System.out.println ("password = " + password);
		    String password2 = PasswordMD5.toPassword ("NicoleKIdman"); // usuário digitou errado
		    System.out.println ("password2 = " + password2);
		    String password3 = PasswordMD5.toPassword ("NicoleKidman"); // usuário digitou certo
		    System.out.println ("password3 = " + password3); 
		    if (!password.equals(password2)) {
		        // como a senha não bate...
		        System.out.println ("password2 eh uma senha incorreta"); 
                    }
		    if (password.equals(password3)) {
		        // como a senha bate...
		        System.out.println ("password3 eh uma senha correta"); 
                    }
		} catch (Exception ex) {
		    ex.printStackTrace();
		}
        }
        /** Converte dados para sua representação hexadecimal */
	private static String bytesToHex (byte[] b) {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < b.length; ++i) {
			sb.append ((Integer.toHexString((b[i] & 0xFF) | 0x100)).substring(1,3));
		}
		return sb.toString();
	}
        /** Converte uma senha para o seu MD5 */
	public static String toPassword (String data) throws NoSuchAlgorithmException {
		byte[] mybytes = data.getBytes();
		MessageDigest md5 = MessageDigest.getInstance("MD5");
		byte[] md5digest = md5.digest (mybytes);
		return bytesToHex (md5digest);
	}
}

Obrigado.