Michael: Java nach PHP

Beitrag lesen

Hallo,

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.

private String hash(String input) {
  MessageDigest sha;

try {
   sha = MessageDigest.getInstance("SHA");
   sha.update(input.getBytes());

byte[] md5Bytes = sha.digest(input.getBytes());

StringBuffer hexValue = new StringBuffer("*");

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

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

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

return null;
 }

Kann mir jemand erklären, was da genau gemacht wird.
(Ich kann leider nur vermuten, dass der String erst in eine Abfolge von Bytes umgewandelt wird und dass die dann verschlüsselt wird, anstatt des Strings selbst. Warum und wie genau ist mir allerdings unklar.)

Vielen Dank und viele Grüße