使用C++在Silverlight中加密的数据是否可以解密?

dla*_*nod 10 c# c++ encryption silverlight

我正在寻找使用WCF在Silverlight客户端和本机代码(C++)服务器之间发送加密数据.我正在考虑使用AesManaged类来加密客户端发送回服务器的数据,但是想知道解密.假设如果AesManaged类是针对AES规范实现的,那么它应该与任何C++ AES库交叉兼容,但是考虑到微软(以及其他供应商)对规范的"解释"的经验,我觉得我应该确认它如果可能的话.

我打算制作一个原型,但我希望得到那个已经有过这方面经验的人的回答.使用C++/CLI或C#访问AesManaged类不是一个选项,因为我正在处理我正在添加功能的遗留代码.

Kei*_*thS 1

我只能告诉你,问这个问题很好;我无法谈论这个特定的互操作性,但我试图与一个使用名为 AesLib 的旧本机实现的遗留软件进行通信,并且我试图使用 AesCryptoServiceProvider。他们不会互相交谈,显然是因为 AesLib 要么使用没有 IV 的模式,要么具有我无法发现的静态或确定性 IV。

如果您可以获取并引用本机服务器正在使用的 AES 实现,并在其周围实现与 ICryptoServiceProvider 兼容的包装器,那么这可能是您的消息完好无损到达的最佳保证(尽管这可能会导致其自身的问题)。否则,我将确保我拥有有关此实现的所有可发现的信息,以便我可以以相同的方式配置 AesManaged。您至少需要密钥、IV、块大小和模式。