我们的应用程序使用C ++代码中的RC2加密值,我在.NET中编写了一个解密例程
问题是它在我们的开发服务器上工作正常,它是Windows 2003但在Windows 2000上失败。它运行相同的代码,我检查了其他一切,似乎2加密的方式有所不同。
有没有人有过这方面的经验?
答案 0 :(得分:1)
答案 1 :(得分:0)
有obscure issue的win2000 / winxp加密/解密。 win2000上的加密服务提供程序有效密钥长度为40,即使您使用128位密钥也默认使用。因此,为了解决这个问题,您必须在2000上手动重置有效密钥长度,或者在解密winxp(或者在我的情况下为win2003)之前将其设置为40。
如果您使用C# to decrypt,则在使用RC2CryptoServiceProvider类时,无法将有效密钥大小设置为与密钥大小不同的值。
答案 2 :(得分:0)
我在使用加密服务提供商的XP SP1和XP SP2之间遇到了同样的问题,加密值对于1个特定的加密是不同的,我现在不记得了。