Encriptar / Desencriptar Senhas

Prezados,

  Estou utilizando o seguinte método para encriptar senhas:
public static String encripta (String senha) {
		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;
		}
	}

Tem alguma maneira de Desencriptar depois de utilizado este método ??

agradeço à atenção

abraços…

Olá…

Para essa criptografia MD5 não tem jeito. Mas você pode fazer também a criptografia pelo banco de dados.
Qual banco está utilizando?

Att.

Awilaz

estou utilizando o MySQL

Criptografias utilizandos funções do tipo Hash (como o MD5), não tem como descriptografar, visto que uma função hash (definida matematicamente) é uma função que não possui inversa. Se você precisa criptografar e descriptografar qualquer coisa, sugiro utilizar RSA. Porém para o caso de senhas, não é necessário descriptografar para verificar se é igual.

Se você quer verificar se a senha está correta, ao invés de tentar descriptografar a senha que está no banco para comparar, tente criptografar a senha que o cliente te informou e depois comparar com a que está no banco. Uma função hash tem a propriedade de gerar o mesmo código criptografado para o mesmo texto informado (pode existir um caso em que um texto totalmente diferente gere o mesmo hash, mas isto é muito raro).

[]´s

thybwm,

Se você então precisa realmente criptografar e descriptografar, pode utilizar as instruções do MySQL:


ENCODE(string que quer criptografar)
DECODE(string criptografada pelo encode)

Assim é possível… mas como nosso amigo wariows mesmo disse não é preciso descriptografar para comparar a senha.

espero ter ajudado…

abraço

muito obrigado a todos…

funcionow aki…

vlw msm…

Voce pode fazer comparacoes com uma string a ser comparada, se a criptografica e’ comparada a ela. Mas caso precise de descriptografia mesmo, procure por outro padrao de criptografia.

[]s,