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