Salve a tutti,
Ho la necessita di dover convertire un'insieme di cifre esadecimali in formato MD5,solo che il risultato non è quello atteso.Ho notato che la conversione da esadecimale a byte "taglia" i valori superiori a 127,rendendoli negativi,ma non so se questo influisce sulla codifica.
Grazie mille per le risposte.codice:public static String macToMD5(){ String s="00193EA1B2C3"; byte[] mac=new byte[6]; for(int i=0;i < mac.length;i++){ mac[i]=(byte)Integer.parseInt(s.substring(i * 2,i * 2 + 2),16); } byte[] md5=null; try{ md5=createMD5(mac); }catch(NoSuchAlgorithmException ex){ }catch(UnsupportedEncodingException ex){ } return new String(md5); } private static byte[] createMD5(byte[] mac) throws NoSuchAlgorithmException,UnsupportedEncodingException{ MessageDigest md=MessageDigest.getInstance("MD5"); return md.digest(mac); }

Rispondi quotando