Mi sono interessato al caso e, partendo da quel gruppo di funzioni, ho creato una piccola classe:
codice:
import java.security.*;
import java.io.*;
class md5
{
public String hash;
private String hex(byte[] array)
{
StringBuffer sb = new StringBuffer();
for (int i = 0; i < array.length; i++)
{
sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).toLowerCase().substring(1,3));
}
return sb.toString();
}
public md5 (String message)
{
try
{
MessageDigest md = MessageDigest.getInstance("MD5");
hash = hex (md.digest(message.getBytes("CP1252")));
}
catch (NoSuchAlgorithmException e) {}
catch (UnsupportedEncodingException e) {}
}
}
Usarla, semplice:
codice:
md5 nome_oggetto = new md5("Stringa");
oppure
codice:
md5 nome_oggetto;
try
{
nome_oggetto = new md5("Stringa");
}
catch (Exception e) { //gestisci l'errore }
in entrambi i casi fai nome_oggetto.hash per pigliarti l'hash generato dal costruttore