Moin Leutz
Folgender Algorhytmus dürfte ja md5 checksummen zurückgeben
try {
MessageDigest md = MessageDigest.getInstance( „MD5“ );
byte[] encryptMsg = md.digest(msg.getBytes());
return (new String(encryptMsg));
}catch (NoSuchAlgorithmException e) {}
Problem:
übergibt man den String „matze“, so liefert der Algorhytmus
ed164df332a9e3e5cc858a738439dbf
sollte aber sein
ed 0 164df332a9e3e5cc858a738439dbf
mein fehler oder java fehler?
Moin, moin,
Java rechnet richtig. Du hast wohl bei der Umwandlung des Byte-Arrays in die Zeichenkette etwas falsch gemacht.
Das zweite Byte, d.h. enryptMsg[1] liefert 1, muß aber nach 01 (hexadezimal) umgewandelt werden, da eine Hexzahl immer ein Nibble eines Bytes beschreibt. Also immer das High-Nibble und dann das Low-Nibble umwandeln. Das erste Byte ist dezimal -19 (=0xed). Das zweite Byte eben 1 (=0x 0 1), …
Gruß,
Frank
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
jo stimmt, aber so stands halt im Tutorial…
gleich noch ne Frage hinterher, weil so schön schnell ging:
ich möchte eine php mit argumenten aus java heraus aufrufen
ist das realisierbar mit:
URL U = new URL(url);
URLConnection UC = U.openConnection();
UC.connect();
Hallo Matthias,
das sollte eigentlich so funktionieren. Ich habe das jetzt aber so nicht ausprobiert.
Das PHP-Skript sollte allerdings auf einem Web-Server liegen und über eine http://… URL zu erreichen sein.
Gruß,
Frank
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
1 „Gefällt mir“