Sobes.tech
Junior — Middle

Milyen megközelítést használnál a jelszavak biztonságos tárolására a KeyChain rendszerben?

sobes.tech MI

Válasz az MI-től

Az iOS Keychain-ben biztonságosan tárolni a jelszavakat:

  • Használja a Keychain Services API-t, amely biztosítja az adatok titkosítását és biztonságos tárolását.
  • Tárolja a jelszavakat védett objektumként, hozzáférési attribútumokkal (pl. kSecAttrAccessibleWhenUnlocked).
  • Soha ne tárolja a jelszavakat nyílt szövegként a Keychain-en kívül.

Swift-ben például így menthet egy jelszót a Keychain-be:

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)

Ez a módszer garantálja, hogy a jelszavak titkosított formában kerülnek tárolásra, és csak az alkalmazás férhet hozzájuk, amikor a készülék fel van oldva.