我的应用程序中有一些我想要保护的敏感数据(电子邮件密码)。我一直在阅读有关AES但您必须使用密码来加密和解密数据。如果用户抓住我的代码,他将获得密码,能够解密并获取我的电子邮件密码,这就是我想要避免的。所以我有一些问题:
1。我应该使用什么技术?
2。如果我加密整个应用程序(不仅是密码字符串),Apple会在我向他们提交应用程序时对其进行解密。
3. 用户安装应用程序时如何运作,电子邮件密码是否仍会加密?
提前致谢!
答案 0 :(得分:2)
您可以在iPhone上使用Keychain存储密码...... 来自苹果: https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html
小教程: http://iosdevelopertips.com/core-services/using-keychain-to-store-username-and-password.html
答案 1 :(得分:1)
您的应用在设备上解密的任何内容也可以由攻击者解密。此外,您的应用中不需要包含电子邮件(我认为这意味着SMTP帐户密码)。只需使用网络服务。
在您的应用中,创建如下所示的请求网址:
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));
?>