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