Criptografia em aplicações Web

Caros colegas,

Na minha aplicação web (Servlet/JSP) existe uma tela de login em JSP que envia os dados (usuário/senha) para uma Servlet que faz a validação dos usuários.
Acontece que estou querendo criptografar os dados de login antes de enviar a Servlet para melhorar a segurança da aplicação.

Como posso fazer isso? Sei apenas que existe um javascript que cripgrafa os dados em MD5 antes de enviar ao servidor, mas não tenho idéia em como descriptografar na Servlet.

Agradeço qualquer ajuda, oK.

A idéia do MD5 algumas vezes não é “descriptografar” depois, e sim comparar MD5 com MD5. Normalmente o que é feito é juntar login e senha em uma única string e aí ver o MD5 dela.
Para fazer isso em Java pode ser utilizada a classe MessageDigest.

Eu não sei detalhes de como implementar, mas talvez o seguinte texto te ajude:
http://java.sun.com/j2se/1.4.1/docs/guide/security/CryptoSpec.html

não seria mais simples voce forçar o login ser feito sob https?

HTTPS custa $$ (ao menos com certificado “de verdade”). :smiley:

Mas, logicamente, eh a melhor opcao. Se voce tem recursos para, entao use. Se nao tem, mas nao precisa de um certificado “de verdade”, use mesmo assim (na documentacao do Apache deve ter as instrucoes para fazer isso).

Marcio Kuchma

sim
um certificado não é de graça.
mas sem duvida alguma eu confiaria mais em 1 certificado caseiro e https do que mandando tudo as claras, mesmo sabendo que tem uma pseudo-segurança acompanhando…

Obrigado a todos pelas idéias postadas, acho q agora tenho um bom ponto de partida.
Só espero q funcione, :o

Exatamente. E fazendo com HTTPS voce pode relaxar um pouco na paranoia de ficar criptografando/descriptografando os dados - ele cuida disso por voce.

Marcio Kuchma