Hola aquí pongo un código que estaba buscando hace tiempo ocupando la API (java.security.MessageDigest) de java para encriptar una cadena.
----------------------
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Md5 {
private MessageDigest alg;
private String md5;
/**
*
* @param mensaje
* @throws NoSuchAlgorithmException
*/
public void md5(String mensaje) throws NoSuchAlgorithmException{
alg = MessageDigest.getInstance("MD5");//implementa el algoritmo especificado
byte[] bytes = mensaje.getBytes();
computeDigest(bytes);
}
public String getMd5() {
return md5;
}
public void setMd5(String md5) {
this.md5 = md5;
}
/**
* Realiza la digestion del algoritmo MD5
* @param bytes
*/
public void computeDigest(byte[] bytes){
String cad="";
alg.reset();//restaura el resumen
alg.update(bytes);//actualiza el resumen, empleando los bytes especificados
byte[] hash = alg.digest();//completa el calculo del codigo de dispersivo
for(int i = 0; i < hash.length;i++){
int v = hash[i] & 0xFF;
if(v < 16) cad+="0";
cad+=Integer.toString(v,16).toUpperCase()+"";
}
this.setMd5(cad);
}
}
----------------------------------------------------
La manera de ocupar la clase seria la siguiente:
Md5 md5 = new Md5();
md5.md5("Hola mundo");
String md5String = md5.getMd5();
System.out.print(" md5 "+md5String);
No hay comentarios.:
Publicar un comentario