Christoph Zurnieden: Java nach PHP

Beitrag lesen

Hi,

ich müsste eine Hash-Funktion aus einem Java-Code in PHP nachbauen, verstehe allerdings den Java-Code nicht richtig. Kann mir da vielleicht jemand auf die Sprünge helfen.

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

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

private String hash(String input) {

Eine Variable vom Type "MessageDigest"

MessageDigest sha;

Fehlerabfangen (ist ein ordentlicher Programmierer scheint's)

try {

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));
   }

Am Ende hast Du dann ein Sternchen vorne und den Hash dahinter.
Wie gross ist eigentlich "md5bytes"?
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? ;-)
Deshalb meine Frage:
Hast Du die Debugmoeglichkeit hier mal genutzt?

//Maintenance.debugOutput("Hashing "+input+" to "+hexValue.toString());

Ist das nicht "doppelt gemoppelt"?

return hexValue.toString();

Fehlermeldung im Fehlerfall.

} catch (NoSuchAlgorithmException e) {
   Maintenance.sendBug("Unable to find the SHA hash scheme!", e);
  }

Fehler, wenn Fehlerauffang einen Fehler verursacht hat.

return null;
}

(Ich kann leider nur vermuten, dass der String erst in eine Abfolge von Bytes umgewandelt wird

Ein String _ist_ eine Abfolge von Bytes.

und dass die dann verschlüsselt wird, anstatt des Strings selbst. Warum und wie genau ist mir allerdings unklar.)

Koenntest Du eigentlich mal die eine oder andere Probe hierhinposten?
Oder noch besser in Deinen Orginalthread?
Ich habe da so meine Vermutungen, was genau schiefgelaufen sein koennte.

so short

Christoph Zurnieden