mar 22 2011
Crear hash SHA1, MD5 en Java

Bueno, dado que Fredy durante la madrugada publicó como encriptar con SHA1 y MD5 con c#, y dado que ni en java ni en c# tenemos un metodo md5() o sha1() como en php, aquí les traigo el código para los “Javeros”, es de una clase Encrypt que uso en mis proyectos, que sirve para poder encriptar en md5 y sha1.
package com.ifxperu.utils;
import java.security.MessageDigest;
public abstract class Encrypt {
public static String sha1(String message) {
return encrypt(message, "SHA1");
}
public static String md5(String message) {
return encrypt(message, "MD5");
}
private static String encrypt(String message, String type) {
MessageDigest md;
byte[] buffer, digest;
StringBuilder hash = new StringBuilder();
try {
buffer = message.getBytes("UTF-8");
md = MessageDigest.getInstance(type);
} catch (Exception e) {
throw new RuntimeException(e);
}
md.update(buffer);
digest = md.digest();
for (byte b : digest) {
hash.append(String.format("%02x", b & 0xff));
}
return hash.toString();
}
}
El uso sería simple:
String var1 = Encrypt.sha1("miclave123");
String var2 = Encrypt.md5("miclave123");
String var3 = Encrypt.md5(Encrypt.sha1("miclave123"));
String var4 = Encrypt.sha1(Encrypt.md5("miclave123"));//En lo personal prefiero esta jeje;





abr 07, 2011 @ 12:48:22
Esa Calse Encrypt ya viene implementada en Java???
Muy bueno el metodo, hace falta ese metodo de encriptacion, ya que es uno de los mas eficientes…
Saludos!!
abr 07, 2011 @ 14:28:50
No, no viene implementada, la tienes que crear, lo que tiene java es la clase java.security.MessageDigest, que es usada por esta clase Encrypt para obtener los algoritmos de encriptación.
may 19, 2011 @ 13:06:16
esta buena la cosa , pero como que falto el proceso inverso :s
may 19, 2011 @ 13:31:07
Pedro, buenas tardes, estos algoritmos solo son de “ida”, no tienen proceso inverso, a lo que te refieres son algoritmos de encriptación asimétrica que permiten comunicación sin una llave de por medio, y los algoritmos criptográficos simétricos son los que generan una llave.
Saludos!