Junior — Middle
Milyen helyeken tárolta a jelszavakat korábbi projektekben?
sobes.tech MI
Válasz az MI-től
iOS projektekben a jelszavak és más érzékeny adatok általában a következőkben tárolódnak:
- Keychain — egy biztonságos tároló, amit az iOS biztosít a jelszavak, tokenek és tanúsítványok biztonságos tárolására.
- UserDefaults — nem ajánlott jelszavak tárolására, mivel az adatok nem titkosítottak.
- Encrypted Storage — ha harmadik fél által készített könyvtárat használnak az adatok titkosítására a tárolás előtt.
Jelszó mentése a Keychain-be például:
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)
}