Junior — Middle
Jakie podejście byś zastosował do bezpiecznego przechowywania haseł w systemie KeyChain?
sobes.tech AI
Odpowiedź od AI
Aby bezpiecznie przechowywać hasła w iOS Keychain, należy:
- Używać API Keychain Services, które zapewnia szyfrowanie i bezpieczne przechowywanie danych.
- Zapisywać hasła jako chronione obiekty z atrybutami ograniczającymi dostęp (np. kSecAttrAccessibleWhenUnlocked).
- Nigdy nie przechowywać haseł w formie jawnej poza Keychain.
Przykład zapisu hasła w Keychain w Swift:
let password = "user_password".data(using: .utf8)!
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: "user@example.com",
kSecValueData as String: password,
kSecAttrAccessible as String: kSecAttrAccessibleWhenUnlocked
]
SecItemAdd(query as CFDictionary, nil)
Taka metoda gwarantuje, że hasła są przechowywane w zaszyfrowanej formie i dostępne tylko dla aplikacji, gdy urządzenie jest odblokowane.