Расшифровка Capicom в Linux - PullRequest
1 голос
/ 20 мая 2009

У меня есть база данных, которая зашифрована с помощью библиотеки Windows CAPICOM с RC4. Следующий скрипт PHP отлично работает на сервере Windows.

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

Я бы хотел расшифровать ту же базу данных на сервере Linux. Как я должен это сделать? Могу ли я расшифровать данные, зашифрованные с помощью CAPICOM?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2009

CAPICOM использует стандартные алгоритмы шифрования, такие как 3DES. Если вы проанализируете зашифрованные буферы самостоятельно, вы сможете декодировать их на любом языке.

Для получения подробной информации о буферах CAPICOM, начните здесь: http://www.jensign.com/JavaScience/dotnet/DeriveBytes/index.html

Если вы работаете с данными из одного источника, используя только один криптоалгоритм, вы сможете значительно упростить код разбора буфера.

0 голосов
/ 20 мая 2009

Это выглядит как ваша лучшая ставка: http://sourceforge.net/projects/rc4crypt/

Очевидно, что если вы хотите сделать ваше приложение кроссплатформенным, вам следует полностью отказаться от COM () - но я понимаю, что это не под вашим контролем.

...