Sobes.tech
Junior — Middle

Koja je prednost korišćenja Key Chain za sigurno čuvanje lozinki?

sobes.tech АИ

Одговор од АИ

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