Junior — Middle
Σε ποια μέρη αποθηκεύατε τους κωδικούς σε προηγούμενα έργα;
sobes.tech AI
Απάντηση από AI
Στα έργα iOS, οι κωδικοί πρόσβασης και άλλα ευαίσθητα δεδομένα αποθηκεύονται συνήθως σε:
- Keychain — μια ασφαλής αποθήκευση που παρέχεται από το iOS για την ασφαλή αποθήκευση κωδικών, διακριτικών και πιστοποιητικών.
- UserDefaults — δεν συνιστάται για κωδικούς πρόσβασης, καθώς τα δεδομένα εκεί δεν κρυπτογραφούνται.
- Encrypted Storage — αν χρησιμοποιείται βιβλιοθήκη τρίτου για κρυπτογράφηση δεδομένων πριν την αποθήκευση.
Παράδειγμα αποθήκευσης κωδικού πρόσβασης στο 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)
}