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
[code]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;
}
}
}[/code]
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.
Muito obrigado, acho que isso resolve meus problemas