【发布时间】:2011-03-21 19:41:32
【问题描述】:
我的问题是: 1. 我正在开发一个 iPhone 应用程序,我是这样处理的: 用户身份验证,使用用户名和密码(在使用 Web 服务验证后),我的问题是它如何在我的应用程序中存储用户名和密码。是否有安全或我是否已着手实施安全机制?
感谢您的回答
【问题讨论】:
标签: iphone objective-c keychain
我的问题是: 1. 我正在开发一个 iPhone 应用程序,我是这样处理的: 用户身份验证,使用用户名和密码(在使用 Web 服务验证后),我的问题是它如何在我的应用程序中存储用户名和密码。是否有安全或我是否已着手实施安全机制?
感谢您的回答
【问题讨论】:
标签: iphone objective-c keychain
我正在使用SFHFKeychainUtils。它使用苹果的安全框架。 它易于使用,保存用户名和密码:
[SFHFKeychainUtils storeUsername:userNameString andPassword:passwordString forServiceName:@"YourServiceName" updateExisting:TRUE error:&error];
并检索用户名的加密密码
[SFHFKeychainUtils getPasswordForUsername:userNameString andServiceName:@"YourServiceName" error:&error];
【讨论】:
使用钥匙串:Keychain iphone
【讨论】:
保存:
NSUserDefaults *userNamePrefs = [NSUserDefaults standardUserDefaults];
NSUserDefaults *passwordPrefs = [NSUserDefaults standardUserDefaults];
[userNamePrefs setObject:@"username" forKey:@"username"];
[passwordPrefs setObject:@"password" forKey:@"password"];
检索
NSUserDefaults *userNamePrefs = [NSUserDefaults standardUserDefaults];
NSUserDefaults *passwordPrefs = [NSUserDefaults standardUserDefaults];
NSString *savedUsername = [prefs stringForKey:@"username"];
NSString *savedPassword = [prefs stringForKey:@"username"];
UITextbox 用户输入的其他内容只匹配字符串,如
if ((usernameTextBox.Text isEqualToString(savedUsername)) && (passwordTextBox.Text isEqualToString(savedPassword)) ){
// pass authentication
}
else{
// show alert view fail authetication
}
【讨论】: