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.
Vlw pessoal vou ter q fazer akilo d enviar um link e um codigo para poder mudar a senha entao. obrigado a tdss