2012-11-20 9 views

Odpowiedz

19

będę sugerować pęk kluczy do przechowywania danych logowania z uwagi na zabezpieczenia zapewnia. Usługi pęku kluczy na iOS umożliwiają bezpieczne przechowywanie treści, takich jak hasła, klucze, certyfikaty itp.

Drażliwe dane, takie jak hasła i klucze, powinny być przechowywane w pęku kluczy. Apple Keychain Services Programming Guide stwierdza, że ​​

„łańcucha kluczy jest zaszyfrowany kontener, który przechowuje haseł dla wielu aplikacje i bezpieczne usługi. Breloki są bezpieczne przechowywanie pojemniki, co oznacza, że ​​gdy pęk kluczy jest zablokowany, nikt nie może dostęp do jego chroniona zawartość ".

Oto dwa ładne samouczki dla Ciebie.

  1. How Not to Store Passwords in iOS
  2. Using Keychain to Store Username and Password
  3. How to secure user data
+0

Cześć dzięki za szybką odpowiedź ... ale mam w tym jedną wątpliwość? ... podczas przechowywania w kluczowym łańcuchu jest bezpieczny, ale podczas stanu odinstalowania klucz łańcucha zawiera hasło nie zostanie usunięte, jak ja utrzymywać to? – Spynet

+0

Nawet jeśli aplikacja została usunięta, a hasło jest przechowywane w pęku kluczy, jest bezpieczne. Nie ma możliwości usunięcia go z pęku kluczy po usunięciu aplikacji. Jeśli już, hasło będzie się utrzymywać do czasu ponownego zainstalowania aplikacji. Nikt nie może uzyskać do niego dostępu lub go zobaczyć. –

+0

@Spynet: to będzie jeden problem, możesz go pokonać, dodając tylko jedną flagę do NSUSerDefault. Gdy aplikacja jest uruchomiona, najpierw sprawdź bool. Bool wskazuje, że hasło jest zapisane w pęku kluczy. –

0

Ten link ja s mają na celu użycie kluczy Mac OSX i iOS tak łatwych jak NSUserDefaults.

Jest to KVO zgodny Cocoa wrapper wokół Mac OS X i iOS Breloki, i wzór dla tej owijki NSUserDefaults, więc intencją jest to, że dla zwykłych przypadkach normalnie chce zadzwonić:

[NSUserDefaultsController sharedUserDefaultsController] 

Powinieneś zadzwonić

[PDKeychainBindingsController sharedKeychainBindingsController] 

A dla typowych przypadkach zwykle nazwałby:

[NSUserDefaults standardUserDefaults] 

Powinieneś zadzwonić

[PDKeychainBindings sharedKeychainBindings] 

Istnieje kilka różnic pomiędzy implementacjami. Po pierwsze, ta klasa jest ważna tylko dla łańcuchów, ponieważ to jest to, co akceptuje Keychain, więc metody, które pobierają obiekty nie będące ciągami (takie jak tablice i słowniki i tym podobne) zostały pominięte w klasie. Po drugie, teraz tylko "tryb natychmiastowy" jest zaimplementowany, więc nie można ustawić paczki wartości, a następnie wywołać "zapisz", aby wykonać tylko jedno zapisanie i nie ma funkcji "przywróć zapisane wartości".

Powiązane problemy