Michael: Java nach PHP

Beitrag lesen

Hallo,

Normalerweise mache ich das ja mit einem Bullenelektrifizierer, aber ausnahmsweise auch als Kommentar.

Zu gütig von Dir ;-)

Die ist eine Funktion, die eine kontinuierliche Bytefolge unbekannter Laenge frisst.

Belegen der Variablen "sha" mit der Funktion ... ach, das brauchst Du fuer PHOP nicht. Hier wird zusammengfasst der Eingangsstring der SHA Funktion gefuettert und zwar zu Fuss. Das ist in PHP jedoch nicht noetig, da kannst Du das direkt uebergeben und bekommst auch direkt als Hexzahlen serviert, die hier erst im folgendem dazu gemacht werden.

for (int i=0; i<md5Bytes.length; i++)
   {
       int val = md5Bytes[i] & 0xff;
       if (val < 16) hexValue.append("0");
       hexValue.append(Integer.toHexString(val));
   }

Das kann nicht sein, dass das in PHP überflüssig ist. Wenn ich mit PHP einen String in den SHA-Hash wandle, kommt nämlich was anderes raus, als wenn das diese Java-Methode macht.
Wenn ich es jetzt richtig verstanden habe, arbeitet der SHA Algorithmus nämlich nicht mit den einzelnen char sondern mit deren byte-Pendant.

Wie gross ist eigentlich "md5bytes"?

Wenn ich jetzt alles (alle Hilfen und Infos aus allen Antworten -> hier ein kurzes aber großes "Zwischendanke" an alle) richtig Ordnen kann ist md5bytes.length die Länge des übergebenen Strings, nur beinhaltet das Array nicht die char sondern entsprechende bytes (-> siehe Debuginfo von Mario).

Vor allem erinnert mich die Sache mit dem Sternchen an ein Posting, das immer noch in der Forumshauptdatei steht, wenn ich mich nicht irre. Streng genommen ist das hier ein Doppelposting, gelle? ;-)

Ja. Gut aufgepasst! Nur war bei meinem "original Post" noch unklar, wie diese Java-Methode genau implementiert ist. Da hat mir zum Glück der Entwickler von dem Ding weitergeholfen und mir den Code gemailt, bzw. mir einen Tipp gegeben, wo ich das in dem kompletten Programm finden kann. Deshalb hier ein neues Posting, bei dem ich nun wenigstens wusste, wie und wo genau das Problem ist. (Im anderen hatte ich ja auch noch die Fehlinfo, dass die Verschlüsselung md5 sei.)

Ein String _ist_ eine Abfolge von Bytes.

Ja. Nur wird es wahrscheinlich einen Unterschied machen, ob der Algorithmus nun "1" oder das "byte-Pendant "49"" ???

Koenntest Du eigentlich mal die eine oder andere Probe hierhinposten?

Kommt noch, mach mich jetzt mal an ein paar Versuche was zu implementieren.

Oder noch besser in Deinen Orginalthread?

Ich denke hier wird es dann besser aufgehoben sein.

Ich habe da so meine Vermutungen, was genau schiefgelaufen sein koennte.

Das, was ich oben versucht habe, zu beschreiben ?
Oder hättest Du eine ganz andere Vermutung?

Vielen Dank und viele Grüße

Michael