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