Sobes.tech
Junior — Middle

Mis on Key Chain kasutamise eelis turvaliseks paroolide salvestamiseks?

sobes.tech AI

Vastus AI-lt

Keychain — on turvaline salvestuskoht iOS-is, mis on mõeldud konfidentsiaalsete andmete, nagu paroolid, tokenid ja sertifikaadid, salvestamiseks. Selle eeliseks on see, et see tagab andmete krüpteerimise süsteemitasandil ning kaitseb neid riistvara (Secure Enclave) abil, mis oluliselt suurendab turvalisust võrreldes tavaliste failide või UserDefaults salvestamisega.

Lisaks haldab Keychain automaatselt andmetele juurdepääsu, võimaldades piirata nende kasutamist ainult teatud rakendustele või rakenduste gruppidele, mis vähendab andmelekkimise riski. Samuti säilivad andmed Keychainis ka pärast seadme taaskäivitamist ning isegi rakenduse eemaldamist (kui see on õigesti konfigureeritud).

Näide parooli salvestamisest Keychaini abil:

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)
}