[PHP] CRC32 Hashwerte gleichen sich nicht

  • Java

    [PHP] CRC32 Hashwerte gleichen sich nicht

    Hallo.
    Ich brauch heute mal wie der Hilfe :whistling:
    Und zwar habe ich in meiner Androidapp eine Statistikfunktion, die periodisch automatisch eine Datei aus dem Web herunterlädt.
    Dazu bekomme ich von PHP danach die CRC32 Prüfsumme ausgegeben. Soweit funktionier alles perfekt.
    Wenn das Programm die Summe der heruntergeladenen Datei prüft, stimmt das Ergebnis aber nicht immer mit der Datei überein.
    Das heist, manchmal war die Prüfsumme korrekt.

    Die Dateien wurden aber garantiert korrekt übertragen, was auch ein manueller 'Check' bewiesen hat.

    Hier mal die Codes:
    PHP-Code

    Ende der Funktion, die die Datei ausliest und die Prüfsumme berechnet:

    PHP-Quellcode

    1. return abs(crc32($qt));

    $qt ist dabei der (korrekte) Quelltext der Datei

    Javafunktion

    Funktion, die die Prüfsumme aus dem übergebenem String berechnet:

    Java-Quellcode

    1. private static long crc32hash(String a){
    2. CRC32 c=new CRC32();
    3. c.update(a.getBytes());
    4. return(c.getValue());
    5. }

    Die Rückgabe wird wie folgt verwendet:

    Java-Quellcode

    1. String.valueOf(crc32hash(fileDatastream));



    Edit:
    Das Problem scheint nur dann aufzutreten, wenn der Wert, der in eigentlich PHP geliefert wird negativ ist, also die 'echte' Checksumme. (vielleicht hilft das ja weiter)


    Ich hoffe, ihr könnt mir bei diesem Problem helfen,
    Gruß,
    Daniel

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „big-d“ ()