Junior — Middle
Ποια προσέγγιση θα χρησιμοποιούσες για την ασφαλή αποθήκευση των κωδικών στο σύστημα KeyChain;
sobes.tech AI
Απάντηση από AI
Για την ασφαλή αποθήκευση κωδικών πρόσβασης στο iOS Keychain, πρέπει:
- Να χρησιμοποιείτε το API Keychain Services, που παρέχει κρυπτογράφηση και ασφαλή αποθήκευση δεδομένων.
- Να αποθηκεύετε τους κωδικούς ως προστατευμένα αντικείμενα με χαρακτηριστικά που περιορίζουν την πρόσβαση (π.χ., kSecAttrAccessibleWhenUnlocked).
- Ποτέ μην αποθηκεύετε κωδικούς σε ανοιχτό κείμενο εκτός του Keychain.
Παράδειγμα αποθήκευσης κωδικού στο Keychain σε 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)
Αυτή η προσέγγιση διασφαλίζει ότι οι κωδικοί αποθηκεύονται σε κρυπτογραφημένη μορφή και είναι προσβάσιμοι μόνο από την εφαρμογή όταν η συσκευή είναι ξεκλείδωτη.