【问题标题】:how to encrypt iphone application如何加密iphone应用程序
【发布时间】:2011-10-27 22:01:45
【问题描述】:

我的应用程序中有一些我想要保护的敏感数据(电子邮件密码)。我一直在阅读有关 AES 的信息,但您必须使用密码来加密和解密数据。如果用户拿到我的代码,他将获得密码,能够解密并获得我的电子邮件密码,这就是我想要避免的。所以我有一些问题:

1.我应该使用什么技术?

2.如果我加密整个应用程序(不仅仅是密码字符串),当我将我的应用程序提交给他们时,Apple 是否能够解密它。

3. 用户安装应用时如何工作,邮箱密码还会被加密吗?

提前致谢!

【问题讨论】:

  • 为什么必须将这些敏感数据插入到您的应用中?
  • 因为我正在从应用程序发送电子邮件。

标签: iphone objective-c cocoa-touch encryption


【解决方案1】:
【解决方案2】:

您的应用在设备上解密的任何内容也可能被攻击者解密。此外,您的应用程序中无需包含电子邮件(我假设这意味着 SMTP 帐户密码)。只需使用网络服务。

在您的应用中,像这样创建请求 URL:

NSString *requestURLString = [NSString stringWithFormat:@"https://example.com/registration-api/register.php?name=%@&email=%@", [name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

您的网络服务可能如下所示:

<?php
    $message = "Name: $_GET[name]\n\n$_GET[message]";
    mail('registrations@example.com', 'New User Registration', wordwrap($message, 70));
?>

【讨论】:

  • 好的。我以前从未使用过网络服务,我假设我将我的 smtp 帐户密码和用户名放在网络上的某个地方,然后当要发送电子邮件时,我称之为将电子邮件的主题和消息传递给它。这样我的密码就不会再出现在应用程序中了吗?你能指出我实现这一目标的正确方向吗?谢谢
  • 我可能正在寻找类似 iPhone 的 ProGuard。
  • 我不知道有任何现成的网络服务可以做到这一点。但它基本上只是一个简单的脚本,你把它放在你的网络服务器上,然后从你的应用程序中请求它。该脚本可以用 PHP 编写并使用mail()(取决于您的设置)或直接连接到 SMTP。
  • 像 ProGuard 这样的解决方案提供security through obscurity,这通常是个坏主意。在您的情况下,正确的做法可能是 Web 服务方法。但是,如果您描述了您实际尝试做的事情,它可能会有所帮助,即。 e.你的应用和你应用的这个特定部分的目的是什么?
  • 目的是将注册表单数据发送到电子邮件帐户以供进一步检查。数据正在使用 SKPSMTPMessage 从我的电子邮件发送到另一封电子邮件。
猜你喜欢
  • 2010-09-16
  • 1970-01-01
  • 2011-03-20
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
  • 2010-09-08
相关资源
最近更新 更多