我们的应用程序中进行加密的C++代码中使用RC2的值,我在.NETWindows 2000和Windows 2003 RC2加密/解密使用Windows Crypto API?
写了一个解密例程的问题是,它的工作原理我们的开发服务器,它是Windows 2003,但未能在Windows 2000上的一个精细。它运行相同的代码,我检查了其他所有内容,似乎在加密方式上存在差异。
有没有人有过这方面的经验?
我们的应用程序中进行加密的C++代码中使用RC2的值,我在.NETWindows 2000和Windows 2003 RC2加密/解密使用Windows Crypto API?
写了一个解密例程的问题是,它的工作原理我们的开发服务器,它是Windows 2003,但未能在Windows 2000上的一个精细。它运行相同的代码,我检查了其他所有内容,似乎在加密方式上存在差异。
有没有人有过这方面的经验?
有一个obscure issue与win2000/winxp加密/解密。 win2000上的加密服务提供程序有效密钥长度为40,即使使用128位密钥,默认情况下也是如此。所以为了解决这个问题,你必须在2000年手动重置有效密钥长度,或者在你解密winxp(或者我的例子中是win2003)之前将其设置为40。
如果您使用的是C# to decrypt,那么如果使用RC2CryptoServiceProvider类,则无法将有效密钥大小设置为与密钥大小不同的值。
我在使用加密服务提供程序的XP SP1和XP SP2之间遇到同样的问题,对于我现在无法回想的1个特定的加密,加密值不同。
谢谢Brian。我会检查它是否有sp3。我试着用40位密钥解密,但没有做到这一点。 – Svet 2008-11-24 20:48:12