Criptografar e descriptografar senha de usuarios[urgente]

pessoal alguem ai tem classe, que criptografe a senha qdo eu for gravar a senha, e por exemplo em um “esqueci a senha” eu descriptografar essa senha e e trazer a senha q ele pos???

tenho um aki q criptografa, mais nao funciona. se alguem por favor puder me ajudar obrigado

A senha é criptografada exatamente para ninguém descobrir, isso vale inclusive para o sistema que a armazena. No caso de o usuário esquecer a senha você deve requisitar que ele insira uma nova senha através do e-mail cadastrado na hora do registro.

Nunca envie ou tente recuperar uma senha armazenada.

Aqui nesse post tem uma classe que criptografa a senha em md5:
http://www.guj.com.br/java/46888-md5-com-java
Existem outras classes como esta pela internet. Você não descriptografa a senha para
comparar com o que o usuário digitou. Você deve criptografar o que foi digitado e comparar
com o que está no banco.
Caso esqueça a senha, confirme alguns dados e aceite que outra senha seja cadastrada.

cara usar md5 não é muito bacana não, pq algumas senhas podem ser desencriptadas…
esse site faz isso http://md5.gromweb.com/
ex: bob = 9f9d51bc70ef21ca5c14f307980a29d8

Como já dito pelos colegas, não se descriptografa-se a senha, caso o usuário esqueça, na minha opinião você deve fazer perguntas para confirmar sua autenticidade (como mencionado pelo colega marciosouzajunior), se tudo certo, você altera a senha e encaminha a nova via e-mail, mas já armazenando-a criptografada no banco.

Abraços.

_ _
Fabiano Abreu
Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

realmente parece que esse MD5 ai pode ser revertido pelo postado pelo eduJava.

Agora eu utilizo o MD5 mas pelos testes que fiz não dá pra decriptografar pelo site postado. Uso tbm a classe BASE64Encoder (mas diz que pode ser removido no futuro…) então qual a solução?

[code]

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;

public class Criptografia {
public String criptografarSenha(String senha) throws NoSuchAlgorithmException {

try {
           MessageDigest digest = MessageDigest.getInstance("MD5");
           digest.update(senha.getBytes());
           BASE64Encoder encoder = new BASE64Encoder ();
           return encoder.encode (digest.digest ());
      } catch (NoSuchAlgorithmException ns) {
           ns.printStackTrace ();
           return senha;
      }

}
}[/code]

Na verdade eduJava quando dizem que descriptografaram uma senha MD5 o que estão fazendo é consultando dentro de uma base de dados se existe algum valor para aquele hash, não fazendo o processo de descriptografia propriamente dito, por exemplo: O link que vc passou http://md5.gromweb.com/query/9f9d51bc70ef21ca5c14f307980a29d8 já está cadastrado na base de dados, agora tenta obter a senha da criptografia a seguir http://md5.gromweb.com/query/74c1ac742244fa98b4e640cbb527396b ele vai te retornar um valor nulo. Criptografia MD5; SHA-1 e SHA-256 não tem uma forma de descriptografar.

Dêem uma olhada…

https://www.google.com.br/search?ix=seb&sourceid=chrome&ie=UTF-8&q=Criptografia+%2BHash#hl=pt-BR&q=criptografia+hash+java&revid=1440051994&sa=X&ei=xAxiT5eYLIXrtgexz5mFCA&ved=0CB4Q1QIoAQ&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=8f5891d87a622bbf&biw=1440&bih=809&ix=seb

Uma solução ao MD5 é usar os Hahs Sha1, Sha256 ou Sha512.

Abs []

Vlw pessoal vou ter q fazer akilo d enviar um link e um codigo para poder mudar a senha entao. obrigado a tdss