php code in java ausführbar?

  • Themenstarter Themenstarter LUK132
  • Beginndatum Beginndatum
L

LUK132

Gast
Hallo,

ich habe eine Java Programm und würde dort gerne php Code auführen. Das ist meine php funktion:


PHP:
protected function hashPassword($password) {
     return base64_encode(pack("H*", md5(utf8_decode($password))));
}

Ist es möglich das in meinen Java Code einzubinden?

Danke schonmal!!!
 
Wozu? Was pack macht weiß ich nicht, aber du kannst mit Java md5-Hashen und base64-Enkoden. Du könntest den PHP-Skript am Webserver aufrufen (URL bietet da eigendlich schon alles) und auslesen, aber da bist du wohl viel besser dran wenn du das direkt in Java schreibst. Es gibt in PHP Dinge wie Java extensions und vielleicht auch Frameworks etc., aber bis du da ein Ergebniss bekommst bist du mit den Java-Methoden wohl schon 10x fertig. Außerdem ist PHP ungeheuer langsam.
 
Weil die Java Funktion ganz genauso funktionieren MUSS wie in php...und das hab ich mit java mitteln nicht hin bekommen!
 
base_64_encode, md5 und utf8_encode sind doch fest definierte funktionen, die kannst du problemlos auch in Java einsetzen.
Was pack() macht weiß ich spontan nicht.

PS:
Zum hashen des Passworts musst du übrigens keinen so großen Aufwand treiben. Eigentlich reicht dir eine Hashfunktion (md5, sha1, ...) und ein Salt dass du dem Passwort hinzufügst.
 
Ne md5-Hashfunktionen und base64-Encoder müssen auch überall sonst gleich funktionieren, sonst ist es keine. Ich hab nichts von der Methode md5() die mir die Lottozahlen von letzter Woche ausgibt. Hier ne md5-Funktion, base64 hab ich mal in der Java-Insel gesehen, brauchte es aber noch nie.

Java:
class Md5 implements HashTyp {
	public String calculateHash(byte[] bytes) {
		MessageDigest md5;
		String hash = null;
		try {
			md5 = MessageDigest.getInstance("MD5");
			md5.reset();
			md5.update(bytes);
			byte[] result = md5.digest();

			StringBuilder hexString = new StringBuilder();
			for (int i = 0; i < result.length; i++) {
				if(result[i] <= 15 && result[i] >= 0) {
					hexString.append("0");
				}
				hexString.append(Integer.toHexString(0xFF & result[i]));
			}
			hash = hexString.toString();
		}
		catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return(hash.toLowerCase());
	}
}
 

Neue Themen


Zurück
Oben