Sobes.tech
Junior — Middle

Ի՞նչ մոտեցում կօգտագործեիք անվտանգ պահելու համար գաղտնաբառերը KeyChain համակարգում։

sobes.tech AI

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

Ինքնապաշտպանելու համար գաղտնաբառերը iOS Keychain-ում, պետք է:

  • Օգտագործել Keychain Services API-ն, որը ապահովում է տվյալների կոդավորումը և անվտանգ պահպանումը:
  • Գաղտնաբառերը պահել որպես պաշտպանված օբյեկտներ, որոնց հասանելիությունը սահմանափակված է (օրինակ՝ kSecAttrAccessibleWhenUnlocked):
  • Երբեք բաց տեքստով չպահեք գաղտնաբառերը Keychain-ից դուրս:

Swift-ում գաղտնաբառը գրանցելու օրինակ՝

let password = "user_password".data(using: .utf8)!
let query: [String: Any] = [
    kSecClass as String: kSecClassGenericPassword,
    kSecAttrAccount as String: "user@example.com",
    kSecValueData as String: password,
    kSecAttrAccessible as String: kSecAttrAccessibleWhenUnlocked
]
SecItemAdd(query as CFDictionary, nil)

Այս մոտեցումը ապահովում է, որ գաղտնաբառերը պահվում են կոդավորված ձևով և հասանելի են միայն հավելվածին, երբ սարքը բաց է։