2009-05-19 9 views
1

Ich habe eine Datenbank, die mit Windows CAPICOM-Bibliothek mit RC4 verschlüsselt. Folgende PHP-Skript funktioniert gut auf Windows-Server.Capicom Entschlüsselung in Linux

... 
$oCapiCapi = new COM("CAPICOM.EncryptedData"); 
$oCapiCapi -> Algorithm = 1; 
$oCapiCapi -> Algorithm -> KeyLength = 3; 
$oCapiCapi -> SetSecret('OURveRYSecretKey'); 
    ... 
    $oCapiCapi -> Decrypt($orsd[1]); 
    $Decrypted = $oCapiCapi -> Content; 
    ... 

Ich möchte die gleiche Datenbank auf Linux-Server entschlüsseln. Wie soll ich das machen? Kann ich die mit CAPICOM verschlüsselten Daten entschlüsseln?

Vielen Dank.

Antwort

2

CAPICOM verwendet Standard-Verschlüsselungsalgorithmen wie 3DES. Wenn Sie die verschlüsselten Puffer selbst analysieren, sollten Sie in der Lage sein, sie mit einer beliebigen Sprache zu dekodieren.

Einzelheiten zu CAPICOM Puffer, beginnen hier: http://www.jensign.com/JavaScience/dotnet/DeriveBytes/index.html

Wenn Sie mit Daten aus einer einzigen Quelle nur einen Krypto-Algorithmus zu tun, sollten Sie in der Lage sein, Ihre Puffer Parsing-Code erheblich zu vereinfachen.

0

Das ist wie Sie am besten aussieht: http://sourceforge.net/projects/rc4crypt/

Natürlich, wenn Sie Ihre Anwendung Cross-Plattform machen möchten, sollten Sie COM() völlig im Stich lassen - aber ich verstehe, wenn das an dieser Stelle außerhalb Ihrer Kontrolle ist.