Sobes.tech
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)
}