1

我有一个使用 RC4 的 windows CAPICOM 库加密的数据库。以下 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 加密的数据吗?

谢谢你。

4

2 回答 2

2

CAPICOM 使用标准加密算法,例如 3DES。如果您自己解析加密的缓冲区,您应该能够使用任何语言对其进行解码。

有关 CAPICOM 缓冲区的详细信息,请从此处开始:http: //www.jensign.com/JavaScience/dotnet/DeriveBytes/index.html

如果您只使用一种加密算法处理来自单一来源的数据,您应该能够显着简化缓冲区解析代码。

于 2009-09-18T22:54:21.310 回答
0

这看起来是你最好的选择:http: //sourceforge.net/projects/rc4crypt/

显然,如果你想让你的应用程序跨平台,你应该完全放弃 COM() ——但我知道这是否超出了你的控制范围。

于 2009-05-19T23:11:27.050 回答