開發一個應用程序,它將使多個用戶使用相同的設備並具有脫機功能。 找到鑰匙串包裝。但真正的問題是如何管理多個鑰匙串中的用戶密碼?我有一個sqlite數據庫用於存儲所有登錄的用戶名。什麼是管理密碼的最佳方式?以及如何?如何在iOS中管理密碼?
回答
您可以將密碼存儲在鑰匙串中。
創建一個包含用戶名作爲鍵和密碼作爲值的字典。您可以將此字典存儲到鑰匙串項目以安全地存儲所有密碼。
您可以使用包裝器SFHFKeychainUtils,併爲不同的服務存儲不同的密碼。
您將用戶保存在每個服務的NSUserDefaults中,然後使用serviceName參數存儲並提取密碼。
[SFHFKeychainUtils storeUsername:name andPassword:secret forServiceName:serviceName updateExisting:YES error:&error];
在這個開源項目採取在github上看看SSKeyChain 作品非常相似,以至於包裝,但還可以訪問帳戶,讓密碼,設置密碼,並刪除密碼。
插圖密碼到鑰匙串:
NSError *error;
[SSKeychain setPassword:@"password"
forService:@"example_name"
account:@"account1"
error:&error];
在你情我願更改帳戶可變你的第二個密碼。
要檢索密碼:
NSError *error;
NSLog(@"password1 is %@", [SSKeychain passwordForService:@"example_name" account:@"account1" error:&error]);
NSLog(@"password2 is %@", [SSKeychain passwordForService:@"example_name" account:@"account2" error:&error]);
那麼使用這麼多帳戶不同的密碼? –
如果你想要一個Obj-c類而不想進入c api,那麼這將是那種簡單的方法,但是如果你決定要進入c api路徑,甚至修改SSKeyChain,請查看kSecClassGenericPassword和kSecClassInternetPassword。 KeyChain對象存儲在字典中,因此密鑰必須是唯一的,但如果您是兩個密鑰,則會創建兩種類型的密鑰,一種通用密碼和另一種Internet密碼,這兩種密碼將允許一個鑰匙串中的兩個密碼 –
- 1. 如何加密管理員密碼?
- 2. 如何解決密碼管理 - 密碼在配置
- 3. Windows如何管理用戶和密碼?
- 4. 如何重置Django管理員密碼?
- 5. 如何重置ejabberd管理員密碼?
- 6. 如何更改sonarqube管理員密碼
- 7. Couchbase管理密碼與集羣管理員密碼
- 8. 在持續部署中管理密碼
- 9. 如何實現密碼管理器的重置密碼
- 10. 我將如何存儲密碼管理器的密碼?
- 11. 如何解密加密的WordPress管理員密碼?
- 12. 在簡單的密碼管理器中更新密碼
- 13. 在java中的密碼管理器自動ID和密碼
- 14. 如何在我的用戶表中散列管理員密碼?
- 15. 如何在應用程序配置中管理密碼
- 16. 如何在JIRA 4.2中更改JIRA管理員密碼?
- 17. ServiceStack CustomAuthenticationMvc管理員密碼?
- 18. 設備管理員密碼
- 19. PHP管理忘記密碼
- 20. splunk管理員密碼
- 21. 密碼管理器安全
- 22. Glassfish V4管理員密碼
- 23. 如何在iOS上的源代碼管理中保留憑據
- 24. iOS開發:我如何在這段代碼中管理內存?
- 25. 如何在svn中管理android和ios的通用代碼庫?
- 26. 如何在現有iOS項目中啓用源代碼管理?
- 27. 密鑰庫的密碼管理
- 28. Wso2 - 帶加密的管理員密碼
- 29. 在iOS中加密和解密密碼
- 30. 管理員密碼不存在
知道鑰匙串並不是完全安全的。如果設備被越獄,那麼有人可以以純文本訪問鑰匙串。如果您要使用鑰匙串,則還應該執行越獄檢測。 – SpyMachine