ok.. credo di aver capito...

l'md5, in byte, è ottenuto sempre così (da una stringa)

MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md5 = md.digest(stringa.getBytes("CP1252"));


ed è quello illegibile...

per trasformarlo in stringa la classe "lenta" usa

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();
}
ed è qyuesta che rallenta il tutto.


Morale: non si può avere un md5 più veloce sotto forma di stringa?
E se lo uso sottoforma di array di byte, che succede? dovrebbe fungere lo stesso immagino..

mi sa che mi tocca provare