我有什么似乎是一个简单的问题,但我找不到解决方案。我花了数小时试图找到一个示例,说明如何构建视图,允许用户输入密码,验证密码并将视图返回到指定的视图。我已经发现了很多关于零碎的资源,但是他们都对如何验证密码并将用户发送到指定的视图有些模糊。如何设计和实现IOS的密码验证?
这似乎是我的问题的最佳解决方案,它是:我有几个pdf,我需要在我的iPad应用程序的密码保护。
我有什么似乎是一个简单的问题,但我找不到解决方案。我花了数小时试图找到一个示例,说明如何构建视图,允许用户输入密码,验证密码并将视图返回到指定的视图。我已经发现了很多关于零碎的资源,但是他们都对如何验证密码并将用户发送到指定的视图有些模糊。如何设计和实现IOS的密码验证?
这似乎是我的问题的最佳解决方案,它是:我有几个pdf,我需要在我的iPad应用程序的密码保护。
在你的答案的期待我的comment--
如果你想将密码存储在本地,我将其存储在Keychain(散列或其他方式),以比较用户输入的密码。更多在Apple docs here。
我建议下载Apple示例项目作为存储/检索钥匙串数据的示例。
问题1:提示用户名和密码
以模态方式呈现视图。如果用户名/密码组合正确,请关闭模态视图。或者,您可以使用带有文本框的提醒。
Issue2:存储的用户名/在为对方的回答提出了一个安全的方式
使用钥匙链的密码。钥匙链的用法与使用Carlbrown的PDKeychainBindingsController使用NSUserDefaults一样简单。您也可以通过以下链接找到它
https://github.com/carlbrown/PDKeychainBindingsController
编辑追加在评论请求信息:
假设你正在使用的登录提示,自定义视图控制器,你必须做这样的事情,当你想要提示输入密码。它可以在你的应用程序didFinishLaunchingWithOptions中。
LoginViewController *controller = [LoginViewController alloc];
[self presentModalViewController:controller animated:YES];
[controller release];
然后在你的LoginViewController中,你必须做这样的事情。
PDKeychainBindings *keyChain =[PDKeychainBindings sharedKeychainBindings];
if ([[keyChain objectForKey:@"User Name"] isEqualToString:userName] && [[keyChain objectForKey:@"Password"] isEqualToString:passWord]) {
[self dismissModalViewControllerAnimated:YES];
}else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"ERROR" message:@"Wrong User Name and/or Password\nEnter Login Information Again"
delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
[alert release];
}
请注意,字符串userName和PassWord是从您的文本字段在登录视图控制器中捕获的。
这正是我想要做的,但我还没有基于我所看到的知识库来实施,包括这里的链接和其他答复。有什么建议么?这个代码可以被构建和购买,然后合并到购买应用程序?或者我只是没有看到森林的树,也没有掌握行动的流程。 –
你能通过电子邮件与我讨论这个吗? –
但是,如果你想出售的应用程序,请记住,苹果说
用户可以设置一个四位数的个人识别码(PIN),以 防止未经授权使用该设备,因此不需要对 用户进行身份验证,并且在iPhone OS中没有身份验证或 授权API。
奥利弗在上Cocoanetics.com有一个非常好的实现安全登录屏幕苹果的使用被发现。查看MyAppSales中的PinLockController类。
https://github.com/Cocoanetics/MyAppSales
钥匙串存储我用SFHFKeychainUtils。它是一个简单的方法调用来存储和检索安全密码。但我认为标准的NSUserDefaults足以满足您的需求。
什么问题了吗? isEqualToString的东西,还是你想解密/加密? – Seega
密码的哈希或保存的副本(希望哈希)是否在寻找对用户密码进行身份验证?该密码是否可以在本地设置和存储? –