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
Criptografia
D
4 Respostas
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;
}
}
}
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
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo