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.

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);
    }
Grazie mille per le risposte.