I am using same MySQL table to store password from different program. One is written in Java and another is written in PHP.
I am saving password via PHP using this script:
encrypted_password= md5(md5('added_salt').md5(md5('plain_password')));
I need to encrypt password in Java using MD5 and salt like above. I write code in Java but it's output is different:
       MessageDigest md = MessageDigest.getInstance("MD5");
       String salts = "a,d,d,e,d,_,s,a,l,t";
        String salttmps[] = salts.split(",");
        byte salt[] = new byte[salttmps.length];
        for (int i = 0; i < salt.length; i++) {
          salt[i] = Byte.parseByte(salttmps[i]);
        }
        md.update(salt); 
        md.update(password.getBytes());
        byte byteData[] = md.digest();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < byteData.length; i++) {
         sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
        } 
        password = sb.toString();
I need to correct Java code and generate output same as PHP.
 
    