在C#,ANDROID和IPHONE之间加密数据

时间:2011-09-26 12:42:42

标签: c# android iphone ios encryption

我正在开发一个Windows(C#),Iphone,Android和Iphone的应用程序,它将连接到SOAP WebService,它存储数据库上的信息。

我正在寻找一种加密/解密这些平台之间信息的方法。有没有跨平台库?

4 个答案:

答案 0 :(得分:2)

您是否按Xamarin查看了MonoTouch和MonoDroid?

使用这些库,您可能只需在三者之间使用本机.Net XML Services并共享所有后端代码。

答案 1 :(得分:2)

我想推荐高级加密标准(AES)。它非常安全,我确信每个平台都有一个很好的默认实现算法。

查看详细信息:AES on wikipedia

答案 2 :(得分:2)

正如@Sascha所说,AES几乎适用于所有平台。你要做的是确保两个平台上的其他一切都是一样的:

  1. 同样的模式;使用CBC或CTR模式。
  2. 同样的IV;明确地设置它,不要使用默认值,因为它在不同的系统上通常会有所不同。
  3. 同样的钥匙;很明显,但它们需要在字节级别相同,因为文本可以在不同的系统上进行不同的编码。明确说明您正在使用的编码。
  4. 相同的填充;对于AES使用PKCS7,再次不依赖于在不同系统上可能不同的默认值。
  5. 无论您选择什么,都要明确设置并不依赖于默认值。系统之间的默认值可能不同,任何差异都会导致解密失败。

答案 3 :(得分:2)

我最后一次开发iPhone和Android应用程序时,需要获取并将数据发布到.NET Soap WebService。我使用AES来加密/解密数据

您可以从此链接下载我在objective-c和.NET中执行加密/解密的zip文件示例项目。

http://dotmac.rationalmind.net/2009/02/aes-interoperability-between-net-and-iphone/