Junior — Middle
W jakich miejscach przechowywałeś hasła w poprzednich projektach?
sobes.tech AI
Odpowiedź od AI
W projektach iOS hasła i inne poufne dane są zwykle przechowywane w:
- Keychain — bezpieczne przechowalnia zapewniana przez iOS do bezpiecznego przechowywania haseł, tokenów i certyfikatów.
- UserDefaults — niezalecane do przechowywania haseł, ponieważ dane tam nie są szyfrowane.
- Encrypted Storage — jeśli używana jest biblioteka zewnętrzna do szyfrowania danych przed zapisaniem.
Przykład zapisywania hasła w Keychain:
import Security
func savePassword(_ password: String, for account: String) {
let data = password.data(using: .utf8)!
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: account,
kSecValueData as String: data
]
SecItemAdd(query as CFDictionary, nil)
}