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.