Hirdetés

Keresés

Új hozzászólás Aktív témák

  • pakriksz
    őstag

    akkor próbáld meg így:
    byte[] md5StringToByte = new byte[md5String.size()/2];

    for( int i = 2; i < md5String.size(); i+=2 ){
    String stringByte = md5String.substring(i-2,i);
    md5StringToByte[i/2 - 1] = Byte.parseByte(stringByte, 16);
    }

    összehasonlítod az md5StringToByte tömböt az eredetivel. Nem vagyok benne biztos, hogy a stringben a helyiértékek ugyanabban a sorrendben követik egymást, mint a byte tömbben, mert most nem tudom végiggondolni :D

    szerk.: ez eléggé pseudo kód, valszeg nem is a leggyorsabb, de kiindulási alapnak szerintem jó

    Így sikerült

    private static String byteArrayToHex(byte[] a) {
    StringBuilder sb = new StringBuilder();
    for(byte b: a)
    sb.append(String.format("%02x", b&0xff));
    return sb.toString();
    }

    Ez se valami jó, de működik.

    Egyébként most megint eljutottam oda, hogy az egész programnak nem is, de néhány metódusnak jó lenne külön szálon futnia. Egy rakás fájlt kéne letölteni, és kicsomagolni for ciklusban. Ezek simán mehetnének párhuzamosan, de az agyhalál ahogy a java-ban ezt meg lehet oldani, kezdve azzal, hogy nem lehet csak úgy simán paraméterezni a threadben futó metódusokat.
    Olyan egyszerű lenne mondjuk így hogy:

    threadedFor (Valami x: List<Valami>, Runtime.getRuntime().availableProcessors()) {
    valamimetódus(x);
    másikmetódus(x);
    }

    és így a ciklusban lévő kód egyszerre párhuzamosan futna maximum annyi szálon ahány processzor van (vagy amennyit oda beírsz)

    A runnable-vel szendvedés helyett... de ahogy látom a többi nyelvnél sincs annyira megkönnyítve a a párhuzamos futtatás, pedig már ideje lenne.

  • modder
    aktív tag

    akkor próbáld meg így:
    byte[] md5StringToByte = new byte[md5String.size()/2];

    for( int i = 2; i < md5String.size(); i+=2 ){
    String stringByte = md5String.substring(i-2,i);
    md5StringToByte[i/2 - 1] = Byte.parseByte(stringByte, 16);
    }

    összehasonlítod az md5StringToByte tömböt az eredetivel. Nem vagyok benne biztos, hogy a stringben a helyiértékek ugyanabban a sorrendben követik egymást, mint a byte tömbben, mert most nem tudom végiggondolni :D

    szerk.: ez eléggé pseudo kód, valszeg nem is a leggyorsabb, de kiindulási alapnak szerintem jó

    ja, meg persze ez arra vonatkozik, ha minden byteot egy két karakter hosszú 16-os számrendszerbeli számként ábrázolsz. Ha Base64 kódolásban van, akkor elég csak valami apache-commons-szal dekódolni Base64-ből

Új hozzászólás Aktív témák