Sobes.tech
Junior — Middle

Ի՞նչ է Key Chain- ի օգտագործման առավելությունը գաղտնաբառերը անվտանգ պահելու համար։

sobes.tech AI

Պատասխան AI-ից

Keychain — դա անվտանգ պահեստ է iOS-ում, որը նախատեսված է գաղտնի տվյալների պահեստավորման համար, ինչպիսիք են գաղտնաբառերը, տոքենները և սերտիֆիկատները: Նրա առավելությունն այն է, որ այն ապահովում է տվյալների կոդավորումը համակարգի մակարդակով և պաշտպանում է դրանք հագեցած սարքավորումից (Secure Enclave), ինչը զգալիորեն բարձրացնում է անվտանգության մակարդակը սովորական ֆայլերում կամ UserDefaults-ում պահելու համեմատ:

Բացի այդ, Keychain-ը ավտոմատ կերպով կառավարում է տվյալների մուտքը, թույլ տալով սահմանափակել դրանց օգտագործումը միայն որոշակի հավելվածների կամ հավելվածների խմբերի համար, ինչը նվազեցնում է արտահոսքի ռիսկը: Նշենք, որ Keychain-ում պահվող տվյալները մնում են սարքի վերագործարկումներից և նույնիսկ հավելվածի հեռացման դեպքում (եթե ճիշտ կարգավորած լինի):

Օրինակ՝ գաղտնաբառը պահելու համար 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)
}