【问题标题】:iPhone: How to encrypt a stringiPhone:如何加密字符串
【发布时间】:2009-08-06 04:03:40
【问题描述】:

我想在 iPhone 上使用 AES 256 加密一个字符串,但通过谷歌没有找到太多。我想做的是将一些数据作为我正在创建的游戏的一部分发布到网站上,但我不希望用户能够通过查看它的发布方式来作弊,因为它是纯文本。因此,我想将一个加密字符串发布到我的 php 页面(ala www.test.com/test.php?encrypted= etc...),然后 php 脚本将对其进行解密,并在它有效时执行所需的操作。

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      这里更简单的方法是使用 HTTPS POST,它可以用更少的代码为您提供类似的保护,但解决您要攻击的问题仍然存在困难。您描述的这种解决方案通常需要某种共享密钥,并且很难长时间使用共享密钥来保护代码。您可能会发现这些帖子很有帮助:

      不过,在这里,HTTPS 可能是比 AES 更好的解决方案。

      【讨论】:

      • 我对 HTTPS 没有太多经验。要进行设置,您需要获得安全服务器和证书吗?
      • 您的服务器需要运行 HTTPS。您可以使用自签名证书,但在 iPhone 上会稍微复杂一些。 stackoverflow.com/questions/933331/…ASIHTTPRequest 对此进行了讨论,ASIHTTPRequest 似乎是一个不错的方法,尽管我已经为现有项目构建了自己的项目,因此没有直接的经验。
      • @RobNapier:共享秘密是指对称加密。您还可以轻松地进行非对称加密。私钥被秘密存储在 Web 服务器中并由 PHP 脚本使用。破解 AES(几乎)是不可能的——而且您不必求助于 HTTPS。 (尽管我对 HTTPS 等替代方案持开放态度!);-)
      • 是的,非对称加密,如 HTTPS 所使用的,在这里是一个很好的解决方案。这就是我推荐HTTPS的原因。如果 HTTPS POST 的开销对于您的 Web 服务器来说太高,您可以考虑仅对单个值进行非对称加密,但通常使用现有的非对称解决方案更简单:HTTPS。我不明白您关于“不可能破坏 AES”的评论。如果您拥有共享密钥(密钥),那么“破解”AES 是微不足道的。将机密信息作为产品的一部分进行运输,很难保护它。
      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 2010-11-22
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 2010-12-27
      相关资源
      最近更新 更多