我有一个用带有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加密的数据吗?
谢谢。
答案 0 :(得分:2)
CAPICOM使用标准加密算法,如3DES。如果您自己解析加密缓冲区,则应该能够使用任何语言对它们进行解码。
有关CAPICOM缓冲区的详细信息,请从此处开始: http://www.jensign.com/JavaScience/dotnet/DeriveBytes/index.html
如果您只使用一个加密算法处理来自单个源的数据,那么您应该能够显着简化缓冲区解析代码。
答案 1 :(得分:0)
这看起来是您最好的选择:http://sourceforge.net/projects/rc4crypt/
显然,如果你想让你的应用程序跨平台,你应该完全放弃COM() - 但是我知道如果你现在无法控制它。