Criptografia

4 respostas
D

Qual a melhor maneira de encriptar uma senha que quero enviar ao banco de dados?
Antigamente eu usava no php base64(“senha”); e já me retornava o base64. No java, qual a maneira mais fácil porém segura?
Obrigado.
Caso seja útil, eu uso MySQL

4 Respostas

ricardosoares
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import sun.misc.BASE64Encoder;

public class MD5 {

	public static void main(String[] arqg) {
		System.out.println(encripta("testando"));
	}
	
	public static String encripta(String texto) {
		try {
			MessageDigest digest = MessageDigest.getInstance("MD5");
			digest.update(texto.getBytes());
			BASE64Encoder encoder = new BASE64Encoder();
			return encoder.encode(digest.digest());
		} catch (NoSuchAlgorithmException ns) {
			ns.printStackTrace();
			return texto;
		}
	}
}
Luiz_Junior

http://www.guj.com.br/java.tutorial.artigo.32.1.guj

rod

Para o encoder Base64 voce pode usar a classe sun.misc.BASE64Encoder.
E para gerar hash md5 ou sha-256, voce pode usar a classe java.security.MessageDigest.

O codigo do ricardosoares exemplifica como utilizar as 2 classes.

Abraços.

D

Muito obrigado, acho que isso resolve meus problemas

Criado 9 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 4
Participantes 4