Ich versuche, einen Passwort-Verschlüsselungsalgorithmus in Funambol Mobile Sync-Server in PHP verwendet zu implementieren, aber ich habe harte Zeit, als ich von einem Nicht-Java-Hintergrund kommen. Der Code selbst scheint einfach:Implementierung dieses Java Passwort-Verschlüsselungsalgorithmus in PHP
encryptionKey = "Omnia Gallia in tres partes divida est";
byte[] newValue = new byte[24];
System.arraycopy(encryptionKey, 0, newValue, 0, 24);
encryptionKey = newValue;
KeySpec keySpec = new DESedeKeySpec(encryptionKey);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESEde");
Cipher cipher = Cipher.getInstance("DESEde");
SecretKey key = keyFactory.generateSecret(keySpec);
cipher.init(Cipher.ENCRYPT_MODE, key);
cipherBytes = cipher.doFinal(plainBytes);
Ich bin nicht unbedingt für eine Komplettlösung suchen, sondern Zeiger auf das, was ich auf der PHP-Seite verwenden können. Kann mcrypt das und in welchem Umfang handhaben? Was brauche ich noch? Ist das in PHP überhaupt möglich?
Um Neugierige: Ich baue eine Schnittstelle zu dem Funambol-Server und ich möchte in der Lage sein, Benutzer von der Schnittstelle selbst mit PHP hinzuzufügen.
Es sieht einfach aus, da der Algorithmus einige Frameworks verwendet. Ein erster Schritt wäre es, um zu sehen, ob es eine PHP äquivalent Triple DES (siehe http://en.wikipedia.org/wiki/Triple_DES) ist. Wenn möglich, können Sie eine externe Schnittstelle auf der Java-Seite hinzufügen, die direkt über PHP aufgerufen werden kann. –
Siehe http://php.net/manual/en/function.mcrypt-encrypt.php Es ermöglicht Triple-DIE. – Artefacto
Ich glaube, die Julius Caesar Zitat 'divisa' sein sollte und nicht' divida' - jedenfalls ist es: 'Gallia est omnis divisa in partes tres' von http://www.thelatinlibrary.com/caesar/gall1.shtml - - Obwohl es wahrscheinlich schwieriger ist eine falsche Version zu verwenden: p –