我有什麼似乎是一個簡單的問題,但我找不到解決方案。我花了數小時試圖找到一個示例,說明如何構建視圖,允許用戶輸入密碼,驗證密碼並將視圖返回到指定的視圖。我已經發現了很多關於零碎的資源,但是他們都對如何驗證密碼並將用戶發送到指定的視圖有些模糊。如何設計和實現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
密碼的哈希或保存的副本(希望哈希)是否在尋找對用戶密碼進行身份驗證?該密碼是否可以在本地設置和存儲? –