GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Encriptar / Desencriptar Senhas


#1

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...


#2

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


#3

estou utilizando o MySQL


#4

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


#5

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


#6

muito obrigado a todos...

funcionow aki...

vlw msm...


#7

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,


#8