Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Silverlight中加密的数据是否可以使用C++;?_C#_C++_Silverlight_Encryption - Fatal编程技术网

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

C# 在Silverlight中加密的数据是否可以使用C++;?,c#,c++,silverlight,encryption,C#,C++,Silverlight,Encryption,我正在考虑使用WCF在Silverlight客户端和本机代码(C++)服务器之间发送加密数据。我正在考虑使用AES托管类对客户端发送回服务器的数据进行加密,但不知道如何解密。有一种假设,如果AES托管类是针对AES规范实现的,它应该与任何C++ AES库交叉兼容,但是如果给定微软的(和其他供应商的)“规范解释”之前的经验,我觉得我应该确认它,如果可能的话。 我计划建立一个原型,但我希望有人谁在这方面的经验已经回答。使用C++/CLI或C#访问AES托管类不是一个选项,因为我正在处理我正在添加功能

我正在考虑使用WCF在Silverlight客户端和本机代码(C++)服务器之间发送加密数据。我正在考虑使用AES托管类对客户端发送回服务器的数据进行加密,但不知道如何解密。有一种假设,如果AES托管类是针对AES规范实现的,它应该与任何C++ AES库交叉兼容,但是如果给定微软的(和其他供应商的)“规范解释”之前的经验,我觉得我应该确认它,如果可能的话。
我计划建立一个原型,但我希望有人谁在这方面的经验已经回答。使用C++/CLI或C#访问AES托管类不是一个选项,因为我正在处理我正在添加功能的遗留代码。

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

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

很久以前,我就成功地将C#AesManaged与PHP的AES实现结合使用(在Silverlight 2 Beta中),因此这是完全可能的

但是,您可能需要仔细研究IV、填充、块大小和模式等内容,以确保AES的设置匹配