【问题标题】:iOS and Windows Phone compatible encryptioniOS 和 Windows Phone 兼容加密
【发布时间】:2012-01-02 11:02:18
【问题描述】:

我是一个真正的加密菜鸟。经过几天的努力,我决定在 StackOverflow 上寻求帮助。

目前我正在为 iOS、Android 和 Windows Phone 开发移动应用程序。在应用程序中,我需要从具有加密 URL 的服务器请求数据。因为应用程序必须适用于 iOS、Android 和 Windows Phone,所以我需要使用适用于每个平台的加密。我决定使用带有密钥和 iv 的 AES 加密。

我已经获得了适用于 Windows Phone 的 AES 加密,但我真的被困在 iOS 上。我在网上搜索了一个很好的例子,但没有找到任何解释整个过程的东西。谁能帮我举个例子(带解释)或一个好的网址?

非常感谢您的帮助!

编辑:

我知道我想根据一个密钥和一个 iv 生成一个 AES 密钥。使用 aes 密钥我想加密我的密码。确切的问题是我将如何在代码中做到这一点。

【问题讨论】:

  • 我同意了,但我似乎无法理解它。我正在寻找一个实际的工作示例。
  • 我目前正在使用 chilkat 库进行加密/解密,因此我没有给你的示例代码,但快速的谷歌搜索给了我这个:stackoverflow.com/questions/2039940/…也许你还没有找到它。希望其他人能为您提供更多有用的信息。
  • 我没听懂……“我想根据一个密钥和一个 iv 生成一个 AES 密钥”是什么意思?
  • 我们很清楚:AES(假设 CBC 操作模式)需要一个 KEY 和 IV,KEY通常是从密码+salt 派生的(使用类似 @ 987654323@) 对于您加密的每个“文件”,IV 是随机且唯一的。根据您的具体问题,您甚至可能不需要密码并直接使用 KEY。无论如何,a link to a blog post 在我之前链接的帖子的 cmets 中似乎足以让您走上正轨。

标签: ios windows-phone-7 encryption aes


【解决方案1】:

我使用 openssl 在设备和平台之间进行加密。有很多可用的文档,我很确定它可以满足您的需求。

github 上也有几个包装器可以使加密/解密更容易一些。

OpenSSL

【讨论】:

  • OpenSSL 默认情况下在 Android 上不可用,并且需要用户突破沙箱。您是否建议仅对 iOS 使用 OpenSSL?改用设备自己的加密程序不是更自然吗?如果您要使用 openssl,您也不能为这些设备使用默认的密钥存储选项。我确定我自己不会走这条路……
  • @owlstead 那么你会推荐什么?
  • 我会保留设备的加密 API。 Android 拥有由 Bouncy Castle 支持的 Java 安全 API(虽然官方不是 Java)。不知道 Windows 手机,但似乎 iOS 有类似的东西。 AES 功能当然包括在内,而且由于平台的不同性质,无论如何以 1:1 移植应用程序的价值不大。
  • 看看这个link。我使用了这个解决方案,它成功了。
【解决方案2】:

我最终使用了 AES。此加密类型适用于 Android、iOS 和 Windows Phone。 对于 iOS 和 Android,互联网上有可用的插件,让您的工作更轻松。只需搜索 {platformname} AES 即可获得足够多的网站。

【讨论】:

  • 您好,请提供您如何在 iPhone 中执行 AES 的详细信息。我们也面临您提到的相同问题,但无法找到适合 iPhone 的解决方案
  • 看看这个link。我使用了这个解决方案,它成功了。
  • 谢谢,我们已经找到解决办法了。。谢谢分享
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 2013-08-06
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多