Encryptar senha

4 respostas
fillipeweb

Pessoal,

Gostaria de saber como encrypto senhas para serem guardadas no banco e tambem como faço o processo de engenharia reversa caso o usuario queira que eu mostre a senha para ele.

Obrigado.

4 Respostas

fsquadro

De uma olhada neste post:

http://www.guj.com.br/posts/list/55749.java

qmx

Procura informações sobre a classe MessageDigest

é boa prática armazenar essas senhas com criptografia “irreversível”, e caso o usuario perca a senha gerar uma nova.

Algoritmos legais pra usar com o MessageDigest são o SHA, MD5

P

Se for uma aplicação para produção de uma pesquisada aqui no fórum mesmo, pois me parece que alguns algoritmos, como o MD5 e 0 SHA não são mais considerados seguros.

T

Se você acha MD5 ou SHA-1 inseguros, use o SHA-512 que já vem com o JDK.

Dica:

Nunca usar o MD5, SHA-1, SHA-512 etc. “puro” em uma senha, use sempre um “salt” (seqüência de dados aleatórios que deve ser guardada em claro juntamente com os dados do usuário e que será combinada com a senha). Se for complicado criar um “salt”, use o próprio nome do usuário.

Exemplo: digamos que o usuário “Gisele” tenha a senha “Bundchen”. Se o usuário “Rafaela” também tiver a mesma senha, e se soubermos o MD5 (ou SHA-1 ou sei lá o que) da senha da Gisele, então saberemos a senha da Rafaela. (Acho que os nomes das outras irmãs são Patrícia, Rafaela, Gabriela etc. )
Agora, vamos combinar a senha com o nome do usuário (por exemplo, concatenando). O MD5 dessa combinação será diferente para o usuário Gisele e para o usuário Rafaela, mesmo ambas tendo a mesma senha.
Isso ajuda porque há um site que dado um MD5 qualquer, fornece a palavra que corresponde a esse MD5, se ela estiver cadastrada nesse site.

Criado 12 de setembro de 2007
Ultima resposta 12 de set. de 2007
Respostas 4
Participantes 5