# wie java erzeugten md5 hash mit php md5 vergleichen?



## XeN (15. August 2005)

Hallo,

wir benutzen hier eine Groupware (OpenXchange) und in dieser kann man sein Passwort md5 bzw. sha1 verschlüßeln. Die Routinen die dies bewerkstelligen sind in Java geschrieben. Und scheinbach nachher noch einmal mit base64 encodet worden, das weiss ich allerdings nicht so genau da ich mich in Java nicht auskenne. 

Das problem ist jetzt wenn ich versuche das selbe passwort mit md5 und base64 in php zu verschlüßeln um es zu vergleichen bekomme ich immer zwei föllig andere hashes zurück.

Kann man mit php irgendwie die java hashes erzeugen indem ich einen wert mitgebe wie bei crypt?

das selbe problem habe ich dann auch bei sha1.

Hier mal der code von dem java allgorithmus wenn damit jemand was anfangen kann. 


```
public  String encrypt(String raw,String algo) throws java.security.NoSuchAlgorithmException{


        String label = null;
        MessageDigest md = null;
        byte[] salt = {};
        BASE64Encoder base64 = new BASE64Encoder();


        if(algo.equals("SHA-1")){
            label = "{SHA}";
            md = MessageDigest.getInstance ("SHA-1");
        }else if (algo.equals("MD5")){
            label = "{MD5}";
            md = MessageDigest.getInstance ("MD5");
        }else{
            return null;
        }


        md.reset();
        try{
            md.update (raw.getBytes("UTF-8"));
        }catch(UnsupportedEncodingException e){}
        md.update (salt);


        byte[] pwhash = md.digest();
        String ret = ( label + base64.encode (pwhash));
        return ret;

    }
```

mfg


----------

